python的argparse的default和action参数

结论
action参数:当 sh 命令行(终端)中出现具有 action 属性的参数时,该参数的值就是‘store_true’所表示的 ture;当 sh 命令行中没有出现具有 action 属性的参数时,该参数的值为‘store_true’所表示的相对值 false
default参数:字面意思,值为true则默认为true,反之亦然。

当两个参数同时出现时,default和action的优先级比较:
1、当action属性的参数未在命令行出现即未触发状态时):default优先级 > action优先级
2、命令行有action属性的参数时(触发状态):action优先级 > default优先级

参考示例:
示例1:单独验证action参数效果

import argparse
para = argparse.ArgumentParser("test store & default file")

para.add_argument('-a', action='store_true')

print(para.parse_args().a) #打印a的值

# 命令行输入:python arg.py
# 输出:False
import argparse
para = argparse.ArgumentParser("test store & default file")

para.add_argument('-a', action='store_false')

print(para.parse_args().a) #打印a的值

# 命令行输入:python arg.py
# 输出:True

示例2:单独验证default参数效果

import argparse
para = argparse.ArgumentParser("test store & default file")

para.add_argument('-a', default=True)

print(para.parse_args().a) #打印a的值

# 命令行输入:python arg.py
# 输出:True

示例3:验证 action=‘store_true’ 和 default=False 的共同效果(未在命令行触发默认 action属性参数,只需看default 值,其值为 false则输出False)

import argparse
para = argparse.ArgumentParser("test store & default file")

para.add_argument('-a', action='store_true', default=False)

print(para.parse_args().a)

# 命令行输入:python arg.py
# 输出:False

示例4:验证 action=‘store_false’ 和 default=True 的共同效果(在命令行触发默认 action属性参数,无需看default 值,因为此时action优先级大于default。action属性参数的值为 store_false,则输出False)

import argparse
para = argparse.ArgumentParser("test store & default file")

para.add_argument('-a', action='store_false', default=True)

print(para.parse_args().a)

# 命令行输入:python arg.py -a
# 输出:False

你可能感兴趣的:(python,大数据,深度学习)