argparse
argparse是一个用于命令行参数解析的标准库模块。它允许你在 Python 程序中轻松地定义和解析命令行参数。
安装
pip install argparse
示例1
import argparse
# 创建了一个命令行参数解析器,并可以提供一个描述性的文本,以便在用户请求帮助时显示
parser = argparse.ArgumentParser(description='描述你的程序')
# 定义了一个名为input_file的位置参数,用户在运行程序时必须提供这个参数,它代表输入文件的路径。
parser.add_argument('input_file', help='输入文件路径')
# 定义了一个名为--output_file的可选参数,用户可以根据需要提供这个参数来指定输出文件的路径。
parser.add_argument('--output_file', help='输出文件的路径')
# 这行代码解析命令行参数,并将结果存储在args对象中。可以通过args.input_file和args.output_file来访问用户提供的参数值。
args = parser.parse_args()
print(f"第一个参数:{args.input_file}")
if args.output_file:
print(f"第二个参数:{args.output_file}")
运行结果
# 1.第一个参数必填
(.venv) PS D:\d_pycharm_program\argparse_test> python test.py 参数一
第一个参数:参数一
# 2.第二个参数可选
(.venv) PS D:\d_pycharm_program\argparse_test> python test.py 参数一 --output_file 参数二
第一个参数:参数一
第二个参数:参数二
# 3.查看可使用-h或--help
(.venv) PS D:\d_pycharm_program\argparse_test> python test.py --help
usage: test.py [-h] [--output_file OUTPUT_FILE] input_file
描述你的程序
positional arguments:
input_file 输入文件路径
optional arguments:
-h, --help show this help message and exit
--output_file OUTPUT_FILE
输出文件的路径
示例2 分组
分组使参数结构更清晰
import argparse
# 创建命令行参数解析器
parser = argparse.ArgumentParser(description='描述你的程序')
# 创建参数分组,使结构更加清晰
data_arg = parser.add_argument_group('Data')
# 向分组中添加参数
data_arg.add_argument('input_file', help='输入文件路径')
data_arg.add_argument('--output_file', help='输出文件的路径')
# 添加其他参数
# 加上action=store_true后,如果有该参数,config.verbose为True,否则为False
# 不加action=store_true后,如果有该参数,config.verbose为给该参数输入的值,否则为None
parser.add_argument('--verbose', action='store_true', help='别名')
# 解析已知参数
config, unparsed = parser.parse_known_args()
print(f"数据参数:{config}")
print(f"未解析的参数:{unparsed}")
print()
print(f"第一个参数(输入文件路径):{config.input_file}")
print(f"第二个参数(输出文件路径):{config.output_file}")
print(f"第三个参数(输出文件路径):{config.verbose}")
运行结果
(.venv) PS D:\d_pycharm_program\argparse_test> python test.py 参数一 --output_file 参数二
数据参数:Namespace(input_file='参数一', output_file='参数二', verbose=False)
未解析的参数:[]
第一个参数(输入文件路径):参数一
第二个参数(输出文件路径):参数二
第三个参数(输出文件路径):False
(.venv) PS D:\d_pycharm_program\argparse_test> python test.py 参数一 --output_file 参数二 --verbose 参数三
数据参数:Namespace(input_file='参数一', output_file='参数二', verbose=True)
未解析的参数:['参数三']
第一个参数(输入文件路径):参数一
第二个参数(输出文件路径):参数二
第三个参数(输出文件路径):True
(.venv) PS D:\d_pycharm_program\argparse_test> python test.py -h
usage: test.py [-h] [--output_file OUTPUT_FILE] [--verbose] input_file
描述你的程序
optional arguments:
-h, --help show this help message and exit
--verbose 别名
Data:
input_file 输入文件路径
--output_file OUTPUT_FILE
输出文件的路径

浙公网安备 33010602011771号