python3正确的argv用法

时间:2012-11-25 02:55:23

标签: dictionary python-3.x command argv

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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