add_argument 是 Python 中 argparse 模块的一个方法,用于为命令行接口定义参数。argparse 是 Python 标准库的一部分,用于编写用户友好的命令行接口。
argparse.add_argument
方法详解
第一个参数:参数名称
- 这是命令行参数的名称,可以是长选项(如
--foo
)或短选项(如-f
)。
第二个参数:多个参数设置
- dest:指定解析后的参数将被存储在哪个属性中。
- action:指定当参数在命令行中出现时要执行的操作(如
store
,store_true
,append
等)。 - nargs:指定应该使用的命令行参数的数量(如
1
,*
,+
,?
)。 - const:与某些
action
和nargs
选项一起使用的常量值。 - default:如果参数未在命令行中出现时使用的默认值。
- type:命令行参数应该被转换成的类型(如
int
,float
,str
)。 - choices:参数允许的值的范围。
- required:是否必须提供该参数。
- help:参数的帮助信息。
- metavar:在帮助信息中显示的参数名称。
第三个参数:通常是 help
参数
- 用于提供该参数的简短描述,当用户请求帮助时会显示这个描述。
示例代码
import argparse
# 创建解析器
parser = argparse.ArgumentParser(description='示例程序')
# 添加参数
parser.add_argument('--foo', dest='foo_value', type=int, default=42, help='foo参数的帮助信息')
parser.add_argument('bar', type=str, help='bar参数的帮助信息')
# 解析命令行参数
args = parser.parse_args()
# 打印参数值
print(args.foo_value) # 输出:42
print(args.bar) # 输出:命令行中提供的bar参数的值
在这个例子中:
--foo
是一个可选的长参数,如果提供了这个参数,它将被转换为整数类型,并存储在args.foo_value
中。如果未提供,则默认值为42
。bar
是一个位置参数(即没有以连字符开头,如 – 或 -),必须在命令行中提供,它将被转换为字符串类型,并存储在args.bar
中。