python - python参数有或没有值,指定与否
问题描述
场景如下:
我需要实现一个命令行参数系统,它允许两者
-p <value>
和
-p
(没有给出 -p 的值)
有什么方法可以使用 argparse 来实现这一点,还是我必须手动解析 sys.argv?
非常感谢你!!!
解决方案
这会将 args.param 设置None
为未指定选项(或未指定参数)时设置,否则设置为指定值
import argparse
UNSPECIFIED = object()
parser = argparse.ArgumentParser()
parser.add_argument('-p', action='store', dest='param', default=UNSPECIFIED, nargs='?')
args = parser.parse_args()
if args.param == UNSPECIFIED:
print("Param unspecified")
else:
print(args.param)
推荐阅读
- mysql - 在MySQL中,根据条件从多行中选择一行,否则选择第一行并排除其余行
- javascript - React 嵌套路由问题(无法显示子组件)
- c - 尝试终止时使用管道的 C 程序挂起
- javascript - 使用 js 将活动类添加到当前选定的 svg
- angular - 如何在角度应用程序之外访问角度路由数据
- php - Codeigniter 2.0.2 表单验证 set_rules 自定义错误消息不起作用
- gitlab - 返回 404 的 Gitlab 片段
- php - 当前月份的日期格式问题
- 8thwall-xr - 第 8 面墙图像目标未跟踪图像
- python-3.x - python repr函数在调用时不使用引号