针对 Python 命令行参数的健全性检查

Sanity check against Python command-line argument

在向所有美丽的人问好之后,

下面是我的代码片段,我在其中尝试对用户的命令行参数进行健全性检查。

我的程序应该只接受来自用户的两个参数;在程序名称旁边;否则它会吐出一条 USAGE 消息以供程序使用。

问题是我不明白为什么程序在提供了所需数量的参数后无法继续运行?! 代码保持 return 返回 Usage Message,无论那里有多少参数;即使有两个是真的;想过我该怎么做吗? 请。

## 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)

我认为 for 循环不是必需的,您只需要这样的东西:

if len(sys.argv) != 3:
   print("Your usage")

您始终可以使用 argparse 标准模块,它可以帮助您构建用户友好的命令行程序。