Python argparse参数的可选值
我想区分这三种情况:Python argparse参数的可选值,python,python-3.x,command-line-interface,argparse,Python,Python 3.x,Command Line Interface,Argparse,我想区分这三种情况: 该标志根本不存在python example.py 该标志存在,但没有值python example.py-t;及 该标志存在并且具有值python example.py-t~/some/path 如何使用Pythonargparse?前两种情况将由action='store\u true'涵盖,但第三种情况无效。您可以通过以下方式执行: 如果可能,将从命令行使用一个参数,并且 作为单一产品生产的。如果不存在命令行参数,则 将生成默认值。请注意,对于可选参数, 还有一种
- 该标志根本不存在
李>python example.py
- 该标志存在,但没有值
;及python example.py-t
- 该标志存在并且具有值
python example.py-t~/some/path
argparse
?前两种情况将由action='store\u true'
涵盖,但第三种情况无效。您可以通过以下方式执行:
如果可能,将从命令行使用一个参数,并且
作为单一产品生产的。如果不存在命令行参数,则
将生成默认值。请注意,对于可选参数,
还有一种情况-选项字符串存在但不存在
后跟命令行参数。在这种情况下,const的值
将生产
您的三个案例将给出:
默认值
值李>
const
值;及“~/some/path”
从argparse导入ArgumentParser
parser=ArgumentParser()
parser.add_参数('-t',nargs='?',default='not present',const='present without value')
打印(parser.parse_args().t)
您将获得以下输出:
$python test.py
不在场
$python test.py-t
虚无
$python test.py-t“传递了一个值”
传递了一个值
您能否提供一个完整的示例,说明如何使用parser.add_argument()实现这一点?@OmryYadan补充道,感谢您的反馈。请注意,链接的文档还包含一些示例。