argparse如何将可选参数的默认值设置为null或空?

8
我正在使用Python的argparse模块读取一个可选参数,该参数定义了用户有时通过命令行提供的“示例文件”。我希望该变量的默认值为空,即未找到任何文件。请保留HTML标记。
parser.add_argument("--exemplar_file", help = "file to inspire book", default = '')

这可以吗?
2个回答

11

不要设置默认值:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--exemplar_file', help='file to inspire book')

args = parser.parse_args()

print(args.exemplar_file)

# Output:
# None

4
默认值defaultNone(对于默认的store操作)。好处在于,您的用户无法提供该值(没有任何字符串可以转换为None)。测试非常容易。
 if args.examplar_file is None:
     # do your thing
     # args.exampler_file = 'the real default'
 else:
     # use args.examplar_file

但是default=''很好。试试吧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接