индекс вне допустимого диапазона? [closed]

# 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 .. может ли кто-нибудь мне помочь ?

0
задан 27 April 2015 в 08:50

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.

3
ответ дан 4 October 2019 в 08:15

Другие вопросы по тегам:

Похожие вопросы: