【发布时间】: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()
我现在该怎么办?
【问题讨论】:
-
同时定义一个
const参数。 -
你试过运行这个吗?您在标志前有
-t连字符这一事实表明它是可选的。 -
您的示例命令行使用
-d,但您的代码sn-p 定义-t而不是-d。是哪个?
标签: python command-line argparse