使用argpar传递以减号()开头的参数值

2024-04-25 22:57:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在执行一个命令行实用程序,它可以接收以减号或加号开头的参数,例如,-gtest+gtest问题是python3不接受:

这是重现此问题的最小代码: 导入argparse

if (__name__== "__main__"):
    parser = argparse.ArgumentParser()
    parser.add_argument('-s', '--string', action='store',
                        help='String value')
    p = parser.parse_args()
    if p.string:
        print("pass value:", p.string)

我试着引用它:

^{pr2}$

总是得到下一个错误:

usage: example.py [-h] [-s STRING]
example.py: error: argument -s/--string: expected one argument

所以,我的问题是如何使用argparse传递以减号开头的参数


Tags: 代码命令行py实用程序parser参数stringif
1条回答
网友
1楼 · 发布于 2024-04-25 22:57:37

您可以使用:

python example.py -s-gtest
python example.py -s+gtest

所以不要放任何空间,也不要用任何特殊的方式逃避。在

相关问题 更多 >