【问题标题】:python3 correct argv usagepython3正确的argv用法
【发布时间】:2012-11-25 02:55:22
【问题描述】:

这是我用于读取文本文件并将其存储为字典的代码:

from sys import argv

def data(file):
    d = {}
    for line in file:
        if line.strip() != '':
            key,value = line.split(":")
            if key == 'RootObject':
                continue
            if key == 'Object':
                obj = value.strip()
                d[obj]={}
            else:
                d[obj][key] = value.strip()
    return d

file = open(argv[1])
planets = data(file)
print(planets)

我的问题是我是否正确实现了argv,以便任何用户都可以通过在命令行中键入solardictionary.py random.txt 来运行字典并运行它。我尝试运行它,但一直收到索引错误,我不确定我的 argv 实现可能有问题。

【问题讨论】:

    标签: dictionary python-3.x command argv


    【解决方案1】:

    您需要输入file = open(sys.argv[1],'r') 才能访问该数组,因为它包含在sys 模块中。

    http://docs.python.org/3.1/library/sys.html#module-sys

    您可能也有兴趣在 try-catch 块中打开文件。

    【讨论】:

    • ohhh 是的,这是有道理的。谢谢! @Alex_W 我可以使用 A try 块,尽管我不太熟悉它。但我认为您的解决方案可能会解决我的问题。
    猜你喜欢
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多