gpt4 book ai didi

python argparse : default flag

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:22 25 4
gpt4 key购买 nike

我的脚本需要正好有两个参数。下面的第三个是我正在努力解决的问题。

python 脚本 -e arg1 arg2

python 脚本 -i arg1 arg2

python 脚本 arg1 arg2

我可以使用 argparse 轻松地让前两个工作,但我无法弄清楚如何让第三个与 argparse 一起工作。基本上,当没有指定标志时,我想做与指定 -e 标志相同的处理。如果没有指定 2 个参数,脚本应该会出错。

我检查了 python 文档,发现有一种方法可以为标志指定默认值,但我找不到一种方法来制作参数本身;一个默认的。

parser.add_argument('',nargs=2)

虽然我是 python 的新手,但我知道尝试上面的东西是愚蠢的,但不知何故希望它能神奇地起作用。 :)

有人可以帮我找到一种方法来使无参数案例生效吗?谢谢

最佳答案

只需添加 arg1arg2 所需的位置参数:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-e', action='store_true')
parser.add_argument('-i', action='store_true')
parser.add_argument("arg1")
parser.add_argument("arg2")

args = parser.parse_args()
print(args)

用法:

$ python test.py value1 value2 --help
usage: test.py [-h] [-e] [-i] arg1 arg2

positional arguments:
arg1
arg2

optional arguments:
-h, --help show this help message and exit
-e
-i

关于 python argparse : default flag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35190739/

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