add_argument中的action参数
根据是否包含default参数,分为两种情况进行讨论
含default参数
在这里,我们创建一个名为demo.py的文档:
import argparse
parser = argparse.ArgumentParser(description='good')
parser.add_argument('--debug', action='store_false', default=True, help='Enable debug model')
if __name__ = '__main__'':
args = parser.parse_args()
print(args.debug)
我们在终端运行以下命令时:
1| python demo.py
-|True ## 当不输入 --debug时,debug的值为default=True
2| python demo.py --debug
-|False ## 当输入 --debug时,不需要指定True/False,debug的值为False
不含default参数
如上,我们创建一个名为demo.py的文档,但不包含default参数:
import argparse
parser = argparse.ArgumentParser(description='good')
parser.add_argument('--debug', action='store_false', help='Enable debug model')
if __name__ = '__main__'':
args = parser.parse_args()
print(args.debug)
我们在终端运行以下命令时:
1| python demo.py
-|True ## 当不输入 --debug时,debug的值为True
2| python demo.py --debug
-|False ## 当输入 --debug时,不需要指定True/False,debug的值为False
总结
- 含default:
(a)终端命令行不声明:default;
(b)声明:store_xxx中xxx表示的值(xxx=false:False;xxx=true:True) - 不含default:
(a)终端命令行声明:与store_xxx中xxx表示的值(xxx=false:False;xxx=true:True)
(b)不声明:与store_xxx中xxx表示的值相反(xxx=false:True;xxx=true:False)