sys.args [1]命令的“ IndexError:列表索引超出范围”

时间:2019-04-07 17:24:54

标签: python python-3.x

我遇到错误:

  

sys.argv [1]命令的“ IndexError:列表索引超出范围”。

我认识到sys.argv [0]会给我文件的名称,并且在此if-elif-else条件循环中,它显然将自身路由到其他文件,这在我当前的应用程序中是不希望的。

if sys.argv[1] == "train.txt":
    print_data(e2e_train_src, e2e_train_tgt)
elif sys.argv[1] == "valid.txt":
    print_data(e2e_val_src, e2e_val_tgt)
else:
    assert False

我希望可以打印数据,但事实并非如此。

1 个答案:

答案 0 :(得分:1)

您可以通过以下方法检查索引:

print("length of arguments: ", len(sys.argv))

这将为您提供大量参数。

argv [0]是python模块,因此不能为“ valid.txt”

参数的用法:

$python my_module.py "first_argument" "second_argument"

这将有2个参数/参数。