Dictionary python3正确的argv用法

Dictionary python3正确的argv用法,dictionary,python-3.x,command,argv,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 ==

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

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
实现是否有问题。

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


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

ohhh-Ok-yea这很有意义。谢谢@Alex_W我可以试试试块,虽然我不太熟悉。但我认为你的解决方案可以解决我的问题。