对以连字符开头的参数使用python argparse模块

2024-07-04 05:32:13 发布

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

我使用的是python2.7。我正在编写一个脚本,它使用argparse模块解析命令行参数。问题是有一个选项-t,--tdiff接受指定为+/-HH:MM:SS的时差。在

我的代码和下面的一样,比如在文件中我的计划公司名称:

parser.add_argument("-t", "--tdiff",
                    action="store",
                    dest="time_diff",
                    help = "Specify time difference as +/-HH:MM:SS.")

现在我可以运行程序了/我的计划-t+02:30:00“但不作为”/我的计划-电话:02:30:00”。在

运行带有前导连字符的时差的程序将打印用法。请帮助我怎样才能避开这个问题。在


Tags: 模块代码命令行程序脚本参数timehh
2条回答

我不喜欢把选项前缀改成非标准的。下面是我用来处理以连字符开头的选项值的两种方法。在

# Use a different symbol for negative times.
 tdiff ~02:30:00

# Use this syntax on the command line.
 tdiff=-02:30:00

前缀被解析为一个选项,您可以通过使用^{}更改用于选项的前缀来解决此问题。请查看链接页中给出的示例。在

相关问题 更多 >

    热门问题