argparse指向路径名怎么能默认为什么?

时间:2017-10-11 19:09:11

标签: python arguments argparse

目前,我使用argparse输出以下文件:

import argparse
....
parser = argparse.ArgumentParser(description='do cool stuff')
parser.add_argument('--output_text_file',                  
    default="outputs/output_file1.txt",
                    help='file path for the output text file')

这已经是一个可选参数。但是,我希望默认选项为do not output anything。如果用户想要文件输出,他们可以使用上面的路径名调用参数,例如`--output_text_file" outputs / my_text.txt"

这通常是正确的方法吗?

我怀疑如果我使用:

default=""

上面会出现错误。

2 个答案:

答案 0 :(得分:4)

很简单,只需省略默认值:

parser.add_argument('--output-text-file')

在args中,检查是否output_text_file is None名称将始终存在

答案 1 :(得分:1)

您可以将默认值设置为os.devnull,它是一个跨平台值,对应于空设备的文件路径

parser.add_argument('--output_text_file', 
                     default=os.devnull, 
                     help='file path for the output text file')