Python argparse 默认字符串值

标签 python argparse

使用 argparse :

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

我想实现以下行为:
  • 用户未指定 -o 标志 - 不应进行日志记录。
  • 用户没有指定 -o - 我应该登录到默认位置,
    在我的程序中定义。
  • 用户指定 -o 和一个字符串(路径) - 我应该在那里登录。

  • 有谁知道使用 add_argument 实现这一目标的最佳方法吗?我看到了一个带有 int 值的 similar example,但就我而言,它没有得到我的默认值。

    最佳答案

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

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

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

    还要通读文档中的其他示例,这里有一个可选输出文件的示例,它可能很有用。

    关于Python argparse 默认字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51242220/

    相关文章:

    python - PyQt messagebox yes or no with an if

    python - 在 python 中使用 opencv 进行 Blob 过滤

    python - 找到 TypeError : coercing to Unicode: need string or buffer, 列表

    python - 了解 Pandas 数据帧索引

    python - 为什么我的 Django 表单执行了两次?

    python - 创建一个由 1x3 随机数数组组成的 NxN 数组 (python)

    python - 如何迭代所有可选参数和相关值?

    python - 如何将 optparse() 代码升级为 argparse() 代码

    python - 使用 argparse 保持参数不变

    python - 将 IP 列表解析为 python 中的 argparse 作为字符串