我遇到错误:
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
我希望可以打印数据,但事实并非如此。
答案 0 :(得分:1)
您可以通过以下方法检查索引:
print("length of arguments: ", len(sys.argv))
这将为您提供大量参数。
argv [0]是python模块,因此不能为“ valid.txt”
参数的用法:
$python my_module.py "first_argument" "second_argument"
这将有2个参数/参数。