Python argparse模块命令行参数处理详解
本文详细介绍Python标准库argparse模块的使用方法,涵盖创建ArgumentParser对象、添加参数及解析参数的三步流程。通过具体代码示例,演示了位置参数、可选参数、必选参数及文件类型参数的配置与运行效果,帮助开发者快速掌握命令行工具的参数处理技巧。
本文深入解析Python中利用argparse模块处理命令行参数的具体方法,通过详细的代码示例展示其应用,为相关学习与工作提供有价值的参考。
argparse模块概述
概述
argparse是Python 3标准库中专门用于处理命令行参数的模块。
基本使用流程
使用argparse主要包含以下三个步骤:
- 实例化ArgumentParser()对象。
- 调用add_argument()方法注册需要处理的参数。
- 调用parse_args()方法解析命令行传入的参数。
命令行参数处理示例
具体示例
首先,我们需要创建一个Python脚本文件。
vim test.py
接着,在编辑器中输入模式(i)下编写相关代码。
import argparse # 导入模块
parser = argparse.ArgumentParser() # 创建一个对象
parser.add_argument("square", help="pls enter a num", type=int) # 增加一个叫square的参数,类型必须是int
parser.add_argument("input_str", help="pls enter a string", type=str) # 增加一个叫input_str的参数,类型必须是str
args = parser.parse_args() # 解析
print(args.square ** 2)
print(args.input_str)
编写完成后,我们来执行该脚本。
python test.py 3 "I am a string!"
# 结果是:
# 9
# I am a string!
若需查看脚本支持的参数帮助信息,可执行特定命令。
python test.py -h
接下来,演示如何配置可选参数。
parser = argparse.ArgumentParser()
parser.add_argument("--argument1", “-arg1”, help="display the first argument", type=int) # 参数名前加--,取别名为-arg1
parser.add_argument("--argument2", choices=[5,10,20], help="display the second argument", type=int) # choices 为限定候选列表
args = parser.parse_args()
print(args)
if args.argument1 and args.argument2:
print(args.argument1 + args.argument2)
执行上述配置后的脚本以观察结果。
python test.py
# Namespace(argument1=None, argument2=None)
python test.py -arg1 3 --argument2 5
# Namespace(argument1=3, argument2=5)
# 8
若需强制要求用户输入必选参数,需进行额外配置。
通过设置required属性来实现必选要求。
parser.add_argument("--num", type=int, required=True, help="must enter a num")
此外,参数类型还可以指定为文件对象。
parser.add_argument('file', type=argparser.FileType('r')) # 读取文件
parser.add_argument('file', default='text.txt', type=argparser.FileType('r')) # 读取文件,预定义参数
以上内容涵盖了本文的核心知识点,希望对读者的学习有所帮助,欢迎继续支持本站获取更多技术分享。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









