# 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 .. может ли кто-нибудь мне помочь ?
Строка:
yml = yaml.load(open(sys.argv[1]))
... предполагает, что Вы передаете значение, чтобы использоваться в строке, как аргумент при вызове сценария:
<script> <argument>
но вероятно Вы просто запустили скрипт без любого аргумента.
Аргументы перечислены, где команда для вызова сценария является первым объектом в списке (первый объект является индексом 0).
[<script>, <sys.argv[1]>, <sys.argv[2]>]
Так как Вы запускаете скрипт только с его командой (sys.argv[0]
), sys.argv[1]
относится к (список-) объект, который не существует, повышая IndexError
.