action关键字默认状态有两种,store_true和store_false,若输入命令时,不指定其参数,则store_true显示为False,store_false显示为True。下面举个例子来直观感受一下.
import argparse
import os
from pathlib import Path
parse = argparse.ArgumentParser()
parse.add_argument("--a", action="store_true")
parse.add_argument("--n", type=int, nargs="+", default=1)
opt = parse.parse_args()
if __name__ == "__main__":
print(opt)
print(f"dict_opt:{vars(opt)}")
if opt.a:
print("yes")
else:
print(0)
在命令行输入如下命令
python opt_test.py --a --n 2
结果显示
Namespace(a=True, n=[2])
dict_opt:{'a': True, 'n': [2]}
yes
action类型参数a的值为store_true,若命令行输入时不指定a,那么结果默认为False,但是由于我们在命令行输入了a参数,所以结果为True.