# 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
。