store_true 是指带触发action时为真,不触发则为假。
通俗讲是指运行程序是否带参数,看例子就明白了。
一、没有default
import argparse
parser = argparse.ArgumentParser(description='test.py')
parser.add_argument('--cuda', type=bool, default=True, help='use cuda')
parser.add_argument('--cpu',action='store_true',help='use cpu')
args = parser.parse_args()
print("cuda: ",args.cuda)
print("cpu: ",args.cpu)
如果运行命令为:python test.py
则输出为:
cuda: True
cpu: False
如果运行命令为:python test.py --cpu
则输出为:
cuda: True
cpu: True
二、有default
当然 ‘store_true’ 也可以设置 default ,虽然这样看起来很奇怪,也不好用。如:
parser.add_argument('--cpu',default=True,action='store_true',help='use cpu')
print("cpu: ",args.cpu)
default=True时运行程序时加不加 “ --cpu ” 输出都是 cpu: True
但default=False就不一样了:
parser.add_argument('--cpu',default=False,action='store_true',help='use cpu')
print("cpu: ",args.cpu)
若运行命令是 python test.py,则输出 cpu: False
若运行命令是 python test.py --cpu,则输出 cpu: True
原文链接:https://blog.csdn.net/qq_43799400/article/details/119034026
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)