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
输出文件的路径
作者:cloud-2-jane
出处:https://www.cnblogs.com/cloud-2-jane/articles/18573454
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架