Python argparse默认字符串值

时间:2018-07-09 09:27:44

标签: python argparse

使用argparse

parser.add_argument("-o", "--output", help="Log to file")

我想要实现以下行为:

  1. 用户未指定-o标志-不应进行任何日志记录。
  2. 用户未指定任何-o-我应该登录到默认位置, 在我的程序中定义。
  3. 用户指定-o和一个字符串(路径)-我应该在此处登录。

有人知道使用add_argument的最佳方法吗?我看到了一个带有整数值的similar example,但就我而言,它没有得到我的默认值。

1 个答案:

答案 0 :(得分:4)

您可以为此使用nargs='?'

parser.add_argument('-o', '--output', 
                    nargs='?', default=None, const='my_default_location')

如果不存在,它将产生default值,如果存在但没有值,它将使用const,否则将使用提供的值。

还通读了文档中的其他示例,其中有一个可选输出文件的示例,该示例可能有用。