parser/action=‘store_true‘/default

触发看ation,action后面代表触发后的值

不触发看default即可

parser.add_argument('-c', action='store_true')
#python test.py -c         => c是true(触发)
#python test.py            => c是false(无触发)

store_true 是指带触发action时为真,不触发则为假,代码去掉default初始化,其功能也不会变化parser.add_argument(’-c’, action=‘store_true’)#python test.py -c => c是true(触发)#python test.py => c是false(无触发)

action 表示活动,只有在具有触发动作时才显示作用,所以 store_xxx 后面的 xxx(true/false)表示的是触发后的参数值;default 表示默认参数值,可对应不触发 action 时的参数值,所以通常来讲 default=False 和 action=‘store_true’ 会成对出现,default=True 和 action=‘store_false’ 会成对出现 ,最终实现既有参数默认功能,又有参数触发切换功能。

action=‘store_true’ 和 default=False 效果是一样的(但 action 有触发功能:当 sh 命令行中出现具有 action 属性的参数时,该参数的值就是‘store_true’所表示的 ture;当 sh 命令行中没有出现具有 action 属性的参数时,该参数的值为‘store_true’所表示的相对值 false。简单来说, action 可以在 sh 命令行下切换参数的 true/false 值,default 只能指定一个固定的值),且 default 的优先级比 action 高(所以同时出现 default 和 action 时,只管 default 就行),另外‘触发’的优先级比 default 高(所以在写代码时以 default 为准,但在代码执行时如果参数含有action属性,就以 action 为准)。

你可能感兴趣的:(python,工具,python)