简介

  • argparse模块

python3 argparse模块 详解

argparse 是 Python 中的一个用于处理命令行参数的标准模块。它允许您定义命令行工具的参数、选项和子命令,并提供帮助文档生成以及错误处理功能。下面是一个详细的解释 argparse 的主要功能和用法。

创建 ArgumentParser 对象

首先,您需要导入 argparse 模块并创建一个 ArgumentParser 对象,这个对象用于定义和解析命令行参数。

1
2
3
import argparse

parser = argparse.ArgumentParser(description='一个命令行工具示例')

定义命令行参数

通过 add_argument() 方法,您可以定义要接受的命令行参数、选项和标志。

  • 位置参数:通常是必需的参数,它们没有前缀,只需列出参数名称即可。
    1
    
    parser.add_argument('filename', help='要处理的文件名')
    
  • 选项参数:选项参数通常以一个或多个前缀字符(通常是 ---)开头。
    1
    
    parser.add_argument('-f', '--file', help='指定文件名')
    
  • 标志参数:标志参数通常是布尔类型,表示是否启用某个功能,使用 action='store_true' 参数。
    1
    
    parser.add_argument('--verbose', action='store_true', help='启用详细日志')
    
  • 默认值:您可以使用 default 参数来设置参数的默认值。
    1
    
    parser.add_argument('-n', '--number', type=int, default=1, help='指定一个整数(默认为1)')
    

解析命令行参数

使用 parse_args() 方法来解析命令行参数,它返回一个包含参数值的命名空间对象。

1
args = parser.parse_args()

访问参数值

访问解析后的参数值,可以通过命名空间对象的属性来获取。例如:

1
2
3
print('文件名:', args.file)
print('整数值:', args.number)
print('详细日志:', args.verbose)

自动生成帮助信息

argparse 会自动生成帮助信息,包括参数的用法、描述和默认值。要输出帮助信息,用户可以在命令行中使用 -h--help 选项。

1
python my_script.py -h

或者在程序内部使用 parser.print_help()

1
parser.print_help()

处理错误

argparse 也能处理一些常见的错误,如无效参数值或参数缺失。如果用户提供了无效的参数值或未提供必需的参数,argparse 会显示错误信息并退出。

这是一个 argparse 的基本用法示例,您可以根据自己的需求定义更多参数、选项和标志,以及编写自定义的处理逻辑。argparse 还提供了其他功能,如子命令支持、互斥参数等,以满足更复杂的命令行解析需求。