【问题标题】:Optional named arguments with argparse带有 argparse 的可选命名参数
【发布时间】:2018-08-11 23:52:07
【问题描述】:

可以通过以下 3 种方式使用我的 Python 程序:

$ python prog.py # 1
$ python prog.py -d # 2
$ python prog.py -d FILE # 3

每个都做不同的事情。 (1) 根本不将内容转储到文件中。 (2) 将其转储到dump.log。 (3) 转储到FILE

在致电parse_args() 之后,我不确定如何区分 (1) 和 (2)。这是我的代码:

parser = ArgumentParser()
parser.add_argument(
    '-t', '--tag-dump',
    metavar='FILE',
    help="dump enriched tags to FILE (default: dump.log)",
    action='store',
    nargs='?',
    dest='etags_filename',
    default='dump.log'
)
args = parser.parse_args()

我现在该怎么办?

【问题讨论】:

标签: python command-line argparse


【解决方案1】:

您只需向parser.add_argument() 提供一个const 参数。这指定了如果使用该选项而不在命令行上指定值时将填充的值。然后您可以测试args.etags_filenameconst 值(案例2)还是default'dump.log'(案例1)。

【讨论】:

    猜你喜欢
    • 2020-05-04
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 2020-03-16
    相关资源
    最近更新 更多