防止 python 脚本在没有用户输入任何可选参数的情况下运行



有一个python脚本并使用argparse,我定义了一些可选参数,用户可以在运行脚本之前给出这些参数。如果用户不输入任何定义的可选参数(python example.py -> 给出错误消息(,我希望不允许脚本运行。关于如何做到这一点的任何想法?

您可以将if语句与表达式一起使用,该表达式对参数命名空间的所有值使用any函数来测试是否给出了任何选项,如果没有,则打印用法并退出:

import sys
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-a')
parser.add_argument('-b')
args = parser.parse_args()
if not any(vars(args).values()):
parser.print_usage()
sys.exit()

第一个答案相当不错。 或者,如果在脚本的开头,您可以使用 simlpe。

import sys
if (len(sys.argv) < x):
sys.exit("error message here")

其中 x 是您要查找的参数数量。 否则,您可以使用参数解析器或手动检查

argv[2] == "-b"

相关内容

最新更新