![](/img/trans.png)
[英]python use argparse for passing optional arguments for plotting
[英]Passing optional number of arguments to a flag Python argparse
我希望能够将 1 或 2 个参数传递给我的 python 脚本,因此我可以这样调用它:
dfuMaker.py --bin {file} {address}
如果未传递,地址可以具有默认值。
目前,这就是我定义论点的方式。
cmdParser.add_argument(
'--bin', action='store', nargs=2, required=True)
当然,当尝试仅传递 1 个参数时,它会失败并出现错误:
DFUMaker: error: argument --bin: expected 2 arguments
我会使用自定义类型。
def file_address_pair(s):
x = s.split(",", 1)
if len(x) == 1:
x.append(DEFAULT_ADDRESS)
return x
p.add_argument("--bin", type=file_address_pair)
尽管名称如此,但type
参数可以是任何接受str
并返回值的可调用对象; 它不一定是实际的 Python 类型。
然后你可以使用
dfuMaker.py --bin f
dfuMaker.py --bin f,addr
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.