检查是否设置了标志以及存储默认值

时间:2018-11-08 12:04:09

标签: python python-3.x argparse

我知道您可以使用以下方法检查标志是否设置

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-f', '--flag', action='store_true')
args = parser.parse_args()

if args.flag:
   foo()

但是有没有办法检查该标志是否已设置并具有与变量关联的默认值?像这样

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-f', '--flag', action='store_true', type=str, default='text')

args = parser.parse_args()

if args.flag:
    foo(args.flag) # Need the default text now 

据我所知,python将根据是否输入标志来存储True / False。因此,可以建立两个单独的目的地吗?一个持有动作并想拥有价值的人?还是有另一种方法可以解决这个问题?

1 个答案:

答案 0 :(得分:2)

您需要使用action="store_const"关键字参数而不是const的{​​{1}}

default