首页 > 解决方案 > 防止 python 脚本在没有用户输入任何可选参数的情况下运行

问题描述

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

标签: python

解决方案


您可以使用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()

推荐阅读