ArgumentParser()
对象add_argument()
方法添加参数parse_args()
解析添加的参数import argparse
# 创建对象
parser = argparse.ArgumentParser()
# 添加参数
parser.add_argument('name', help='name info')
parser.add_argument('gender', help='gender', type=str)
parser.add_argument('--age', help='integer', type=int)
# 使用parse_args解析参数
args = parser.parse_args()
name = args.name
gender = args.gender
age = args.age
print(type(name), name)
print(type(gender), gender)
print(type(age), age)
不加然后参数直接运行
python pack_argparse.py
python pack_argparse.py jack man
将必传参数和选传参数全部传入
python pack_argparse.py jack man 20
python pack_argparse.py jack man --age 20
import argparse
# 创建对象
parser = argparse.ArgumentParser()
# 添加参数
parser.add_argument('name', help='name info')
parser.add_argument('gender', help='gender', type=str)
parser.add_argument('-num', '--age', help='integer', type=int)
# 使用parse_args解析参数
args = parser.parse_args()
name = args.name
gender = args.gender
age = args.age
print(type(name), name)
print(type(gender), gender)
print(type(age), age)
# ouuput
(utopia) F:\code\utopia>python pack_argparse.py jack man -num 678
<class 'str'> jack
<class 'str'> man
<class 'int'> 678
# ouuput
(utopia) F:\code\utopia>python pack_argparse.py jack man --age 20
<class 'str'> jack
<class 'str'> man
<class 'int'> 20
指定可选参数的取值范围,用关键字choices:
parser.add_argument('-num', '--age', choices=[20,21,22], help='integer', type=int)
(utopia) F:\code\utopia>python pack_argparse.py jack man --age 25
usage: pack_argparse.py [-h] [-num {20,21,22}] name gender
pack_argparse.py: error: argument -num/--age: invalid choice: 25 (choose from 20, 21, 22)
(utopia) F:\code\utopia>python pack_argparse.py jack man --age 22
<class 'str'> jack
<class 'str'> man
<class 'int'> 22
指定关键字default来指定选项默认的值
parser.add_argument('-num', '--age', default=20, help='integer', type=int)
(utopia) F:\code\utopia>python pack_argparse.py jack man
<class 'str'> jack
<class 'str'> man
<class 'int'> 20