python - sys.args[1] 命令的“IndexError: list index out of range”
问题描述
我收到一个错误:
sys.argv[1] 命令的“IndexError: list index out of range”。
我认识到 sys.argv[0] 会给我我的文件的名称,并且在这个 if-elif-else 条件循环中,它清楚地将自己路由到 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
我希望数据能够打印出来,但事实并非如此。
解决方案
您可以通过执行以下操作检查索引:
print("length of arguments: ", len(sys.argv))
这将为您提供参数的数量。
argv[0] 是 python 模块,所以它不能是“valid.txt”
参数的用法:
$python my_module.py "first_argument" "second_argument"
这将有 2 个参数/参数。
推荐阅读
- javascript - 如何显示来自 unicode ajax responseText 的图像?
- reactjs - 如何在 react-data-grid 中为长文本添加文本换行?
- php - Woocommerce 可下载产品作为电子邮件附件 - 403 禁止
- angular - 角度翻译提取失败
- java - 库 Armen101 / AudioRecordView:不再出现块/条
- c++ - Clang 索引未检测到 C++20 ConceptDecls
- haxe - 有什么方法可以调用函数/引用以 haxe 中另一个变量的值命名的公共变量?
- php - Laravel PHP 不会在表单提交中显示所有图片/项目上传
- windows - 在 Windows 批处理文件中静音 For 的命令输出
- python - numpy 特征向量和特征值没有意义