31
我正在创建一个python脚本,我希望有一个参数可以控制您输出的搜索结果的数量。我目前命名参数--head
。这是我想它具备的功能:如何使用argparse为参数设置一个可选的值?
当
--head
没有在命令行中传递我想它默认为一个值。在这种情况下,一个相当大的,如80当
--head
传递没有任何价值,我希望它默认为另一个值。在这种情况下,有限的东西,如10当
--head
传递一个值,我希望它存储它传递的值。
下面是一些代码说明问题:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-h',
'--head',
dest='size',
const=80,
default=10,
action="I don't know",
help='Only print the head of the output')
>>> # OFC, that last line will fail because the action is uknown,
... # but here is how I'd like it to work
... parser.parse_args(''.split())
Namespace(size=80)
>>> parser.parse_args('--head'.split())
Namespace(size=10)
>>> parser.parse_args('--head 15'.split())
Namespace(size=15)
我知道我大概可以写这样的自定义操作,但我首先要看看是否有任何违约行为做到这一点。
优秀。它甚至支持'*'和'+',并且可以从知识正则表达式中预期结果。 –