【问题标题】:argparse not overriding default valueargparse 没有覆盖默认值
【发布时间】:2022-01-25 19:49:32
【问题描述】:

我设法使用 .csv 中的值编写了一些简单的 Python 代码来创建一个 .svg 文件。 但是 argparse 不会从命令行“传递”一个值 - 我无法覆盖默认值。 我想用命令行定义[c]/[columns]。

import argparse
parser = argparse.ArgumentParser("svg.py")
parser.add_argument("-c","--columns",help="number of columns (default=20)",default=20)
args = parser.parse_args()

当我跑步时

svg.py -c 24

值仍然是 20。

【问题讨论】:

    标签: python arguments argparse


    【解决方案1】:

    也许你在传递参数时出错了。这是我的工作示例

    svg.py

    import argparse
    parser = argparse.ArgumentParser("svg.py")
    parser.add_argument("-c","--columns",help="number of columns (default=20)",default=20)
    args = parser.parse_args()
    print(args.columns)
    

    正常运行

    $ > python svg.py -c 24
    24
    

    希望这有助于找出问题

    【讨论】:

    • 哇,真快!我相信问题出在其他地方。将 type=int 添加到参数创建行后,一切都按预期工作
    • @TomaszBiernacki 很高兴为您提供帮助,欢迎来到 Stack Overflow。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。
    猜你喜欢
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2011-12-20
    • 2016-08-14
    • 2019-03-20
    • 2022-08-05
    相关资源
    最近更新 更多