【发布时间】:2020-06-14 01:00:12
【问题描述】:
在向所有美丽的人问好之后,
在我尝试对用户的命令行参数进行完整性检查的代码的 sn-p 下方。
我的程序应该只接受来自用户的两个参数;在节目名称旁边;否则它会吐出一个USAGE消息供程序使用。
问题是我无法弄清楚为什么程序在提供所需数量的参数时不会继续运行?! 无论有多少参数,代码都会不断返回使用消息;即使有两个是真的;有没有想过我该怎么办? 请。
## Perfome a sanity check against command-line agguments
for arg in sys.argv:
if len(arg) != 3:
print(f'Usage: dna.py <DNA database CSV file> <STR sequence text file>')
sys.exit(1)
【问题讨论】:
-
你为什么要遍历
sys.argv? -
您正在测试命令行参数的字符串长度(每个参数,包括脚本本身的名称,都必须是三个字符长)。这显然不是本意。你想测试
len(sys.argv),没有任何循环。 -
非常感谢亲爱的 (alaniwi) 的贡献。您指出的内容对我来说太有帮助了,代码完成了它的工作,所以再次感谢您。
标签: python command-line-arguments sanity-check