gpt4 book ai didi

python - ArgumentParser 选择两个选项之一

转载 作者:行者123 更新时间:2023-12-01 05:18:48 24 4
gpt4 key购买 nike

我试图有两个选项供用户选择..

parser = argparse.ArgumentParser(description='This is a test script...')
parser.add_argument("-test", "-t", choices='aaa,bbb,ccc,ddd'])
parser.add_argument("-dev", "-d", choices=['bbb,ddd'])
parser.add_argument("-path", "-p", choices=['Software','Hardware'])

我有一个像这样的命令行(ipy64 driver.py -t alltests -p Software)

但是,args = parser.parse_args() 返回 args 返回类似以下内容:命名空间(测试='aaa',路径='软件')

我想修改这一点,因此如果选择 -t 则执行代码分支,如果选择 -d 则执行不同的代码分支。所以像..

parser.add_argument("-dev", "-d", "-t", choices=['aaa,bbb,ccc,ddd'])

但是命名空间不包含 -test 的值。所以基本上我希望用户能够选择 -t 或 -d 作为一个或其他选项,并选择任何值。

谢谢。

最佳答案

将 -t 和 -d 设为可选可以吗?然后只需测试变量是否存在。

将默认值设置为无:

parser.add_argument("-dev", "-d", choices=['bbb,ddd', None], default =None)

然后稍后测试一个值:

if (parser.dev != None):
....( do code)...

我尚未测试此代码,但测试值是我允许用户选择使用 argparse 运行函数的方式。

关于python - ArgumentParser 选择两个选项之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789011/

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