索引超出范围?

索引超出范围?
# load parameters file

yml = yaml.load(open(sys.argv[1]))
# imports 

for pkg, functions in yml['imports'].iteritems():   
    stri = 'from ' + pkg + ' import ' + ','.join(functions)
    exec(stri)

对于上述代码我得到一个错误

IndexError: list index out of range

在第 2 行...有人能帮助我吗?

答案1

以下行:

yml = yaml.load(open(sys.argv[1]))

...假设您在调用脚本时将要在该行中使用的值作为参数传递:

<script> <argument>

但可能您只是在没有任何参数的情况下运行了脚本。

论点是上市,其中调用脚本的命令是列表中的第一个项目(第一个项目是指数0)。

[<script>, <sys.argv[1]>, <sys.argv[2]>]

sys.argv[0]由于您仅使用其命令( )运行脚本,sys.argv[1]因此引用了不存在的(列表)项,从而引发IndexError

相关内容