如何解决使用“ -x”参数选择argparse选项
客户在Python脚本中要求输入新参数,该参数应具有以下两个值之一:-l
或-t
。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("action",choices=['-l','-t'])
parser.parse_args(['-t'])
usage: [-h] {-l,-t}
: error: the following arguments are required: action
解决方法
问题在于-t
似乎正在开始一个新选项。可以通过事先插入伪参数-
(请参见docs)来处理字面包含'--'
的参数。
在运行时内:
args = parser.parse_args(['--','-t'])
或者从shell:
python myscript.py -- -t
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。