Python 参数的 argparse 依赖
Python argparse dependence of arguments
我有两个参数:--1st 和--2nd
我正在尝试仅在设置“第一个”参数时才需要“-2nd”参数。
例如:
如果设置了“1st”和“2nd”- 好
如果未设置“1st”且未设置“2nd”- 好
其他情况不好。请帮帮我
我喜欢 Kabanus 的解决方案。这是另一个,对新用户来说更简单:
parser = argparse.ArgumentParser()
parser.add_argument('--first')
parser.add_argument('--second')
options = parser.parse_args()
# Error checking
if (options.first is None) != (options.second is None):
print 'Error: --first and --second must both be supplied or omitted'
讨论
- 我不使用
--1st
和 --2nd
,因为 options.1st
不起作用,并且 getattr(options, '1st') is too messy. Instead, I use
--firstand
--second` 用于说明目的。
- 表达式
(options.first is None) != (options.second is None)
简洁地表达了您的错误情况。
我有两个参数:--1st 和--2nd 我正在尝试仅在设置“第一个”参数时才需要“-2nd”参数。
例如:
如果设置了“1st”和“2nd”- 好
如果未设置“1st”且未设置“2nd”- 好
其他情况不好。请帮帮我
我喜欢 Kabanus 的解决方案。这是另一个,对新用户来说更简单:
parser = argparse.ArgumentParser()
parser.add_argument('--first')
parser.add_argument('--second')
options = parser.parse_args()
# Error checking
if (options.first is None) != (options.second is None):
print 'Error: --first and --second must both be supplied or omitted'
讨论
- 我不使用
--1st
和--2nd
,因为options.1st
不起作用,并且getattr(options, '1st') is too messy. Instead, I use
--firstand
--second` 用于说明目的。 - 表达式
(options.first is None) != (options.second is None)
简洁地表达了您的错误情况。