gpt4 book ai didi

python - argparse:store_true 和 int 同时存在

转载 作者:太空狗 更新时间:2023-10-30 02:32:08 25 4
gpt4 key购买 nike

我将 argparse 用于 cli 参数。我想要一个参数 -t,来执行温度测试。我还想指定温度测量的时间段。

我要:

python myscript.py -t 每 60 秒执行一次测量,

python myscript.py -t 30 每 30 秒执行一次测量,

python myscript.py 不做温度测量。

现在我是这样做的:

parser.add_argument('-t', '--temperature',
help='performs temperature test (period in sec)',
type=int, default=60, metavar='PERIOD')

问题是我无法区分 python myscript.pypython myscript.py -t

它希望能够同时执行类似action='store_true'type=int 的操作。是否可以?还有其他方法吗?

谢谢!

最佳答案

使用const参数:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'-t', '--temperature',
help='performs temperature test (period in sec)',
type=int,
nargs='?',
const=60, # Default value if -t is supplied
default=None, # Default value if -t is not supplied
metavar='PERIOD')

args = parser.parse_args()
print(args)

% test.py
Namespace(temperature=None)
% test.py -t
Namespace(temperature=60)
% test.py -t 30
Namespace(temperature=30)

关于python - argparse:store_true 和 int 同时存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19858037/

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