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 国际」许可协议进行许可。

posted @   一只大学生  阅读(16)  评论(0编辑  收藏  举报
编辑推荐:
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示