gpt4 book ai didi

python - argparse:传递负值时需要一个参数

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:03 48 4
gpt4 key购买 nike

我正在尝试传递一个值列表的参数:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--cb_ticks', required=False, default='')
args = vars(parser.parse_args())
print(args['cb_ticks'])

对于大多数情况,此代码按预期工作:

  • python 测试.py --cb_ticks "1"-> 1
  • python test.py --cb_ticks "1,2"-> 1,2
  • python test.py --cb_ticks "-1"-> -1

但是当我尝试传递多个值时,第一个值是负值:

  • python test.py --cb_ticks "-1,2"

我收到以下错误:测试.py:

error: argument --cb_ticks: expected one argument

最佳答案

add_argument 方法允许您告诉参数解析器期望多个(或没有)值:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--cb_ticks', nargs='*')

args = vars(parser.parse_args())
print(args['cb_ticks'])

但值应该以空格分隔,因此您必须按以下方式执行脚本:

python test.py --cb_ticks -1 2

参见 reference .

关于python - argparse:传递负值时需要一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371691/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com