0

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

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实现可能有问题。

4

1 回答 1

1

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

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

您可能还对在 try-catch 块中打开文件感兴趣。

于 2012-11-25T03:03:43.127 回答