argparse模块的使用
一、导入
import argparse
二、创建ArgumentParser对象
parser = argparse.ArgumentParser(description='Description of your script')
三、添加参数和选项
parser.add_argument()
# 1、第一个参数:是参数或者选项的名称,根据有无"--"分为位置参数和可选的命令行参数,其中位置参数在执行脚本时不可省略。
parser.add_argument('input_file')
parser.add_argument('--output')
# 2、参数或者选项的名称可以有别称,即在命令行中无论使用哪个均可
parser.add_argument('--output', '-o')
# 3、type--->用于指定命令行参数的数据类型,它允许你将用户输入的字符串转换为指定的数据类型,比如int, float,文件路径(argparse.FileType('r'))等,不指定则默认采用str类型。
# 4、default--->用于设置命令行参数的默认值,这在确保参数有合理默认值的情况下非常有用。
# 5、action--->控制参数或者选项的行为
"""
如果为'store_true'时,指定则为True,不指定则为False
如果为'store_const'时,常与const参数连用,指定时则使用const的内容,不指定时则使用default的内容
parser.add_argument('--verbose', '-v', action='store_const', const=True, default=False)
"""
# 6、nargs--->用于指定命令行参数应该接受多少个值
"""
None(默认值):表示参数只接受一个值。这是大多数参数的默认行为。
'?':表示参数可以接受零个或一个值。如果用户没有提供值,则将使用默认值。
'*':表示参数可以接受任意数量的值,包括零个值。
'+':表示参数可以接受一个或多个值,至少要有一个值。
"""
# 6、help--->用于提供参数或选项的帮助信息
parser.add_argument('input_file', help='Path to the input file')
四、解析命令行参数
运行脚本时,需指定位置参数
python your_script.py input.txt
通过parser.parse_known_args()
或者parser.parse_args()
解析得到参数和选项,返回命名空间对象,后续可以通过属性访问参数和选项的值。
# parser.parse_known_args()和parser.parse_args()的区别在于如果遇到无法识别的选项或参数,前者不会产生错误(会用列表记录未知参数的信息),而后者会产生错误并显示帮助信息。
args = parser.parse_args()
print("Input file:", args.input_file)