Python 零或一个参数

Python 零或一个参数,python,argparse,Python,Argparse,当参数可以是零或一个参数时,我必须使用哪种操作? 我必须像这样运行代码,并将其设置为默认值4 (此变量退出时出错) 但是我也可以运行这样的代码 --pretty-xml = 2 我的代码如下所示 parameter.add_argument('--pretty-xml', dest="pretty", action="append", default=[4]) 对于这两个选项参数,需要更改哪些内容? 谢谢您需要将参数与?以及默认值和常量参数一起使用: “?”。如果可能,将从命令行使用一个

当参数可以是零或一个参数时,我必须使用哪种操作? 我必须像这样运行代码,并将其设置为默认值4 (此变量退出时出错)

但是我也可以运行这样的代码

--pretty-xml = 2 
我的代码如下所示

parameter.add_argument('--pretty-xml',  dest="pretty", action="append", default=[4])
对于这两个选项参数,需要更改哪些内容? 谢谢

您需要将参数与
以及
默认值
常量
参数一起使用:

“?”
。如果可能,将从命令行使用一个参数, 并作为单一产品生产。如果不存在命令行参数, 将生成默认值。


如果像
--pretty xml=n
那样调用,则值为
n
;如果像
--pretty xml
那样调用,则值为
5
;如果命令行上根本不存在
--pretty xml
,则值为4


注意:使用
type=int
检查类型并转换为int类型。否则,如果指定了参数,则返回字符串;如果未指定参数,则返回int 4。

@abccd两个选项参数都需要更改哪些内容?为什么值为None
args=parser.parse_args()print(args.pretty)
@Bando,对我来说,它是
名称空间(pretty=4)
(未指定参数),
名称空间(pretty=2)
--pretty xml=2
指定)。要充分利用
给它一个
默认值
成本
参数。请参阅文档。@hpaulj,
成本从何而来?我在问题中或在
argparse
文档中都找不到
cost
。对不起,“const”是常量。副本中提到过。
parameter.add_argument('--pretty-xml',  dest="pretty", action="append", default=[4])
parser.add_argument('--pretty-xml', dest='pretty', default=4, const=5, nargs='?', type=int)