例如:
example.py
parser = argparse.ArgumentParser(description="Will take arguments... or none")
parser.add_argument("-a", action="store_true")
parser.add_argument("-b", action="store_true")
parser.add_argument("-c", action="store_true")
parser.add_argument("-d", action="store_true")
args = parser.parse_args()
print args
Run Code Online (Sandbox Code Playgroud)
我想将example.py设置a为True,但仅限于:
-a标志我试着乱搞
parser.set_defaults(a=True, b=False)
和
parser.add_argument("-a", action="store_true", default=True)
但他们将设置a到True即使我决定使用的b标志.
是的,使用默认值将a设置为True,甚至指定其他参数.这将违反您的第二个要求,以下是一个简单的修复与天真的条件检查.
parser = argparse.ArgumentParser(description="Will take arguments... or none")
parser.add_argument("-a", action="store_true")
parser.add_argument("-b", action="store_true")
parser.add_argument("-c", action="store_true")
parser.add_argument("-d", action="store_true")
args = parser.parse_args()
if not (args.b or args.c or args.d):
args.a=True
print args
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1455 次 |
| 最近记录: |