Python argparse 模块命令行参数用法及说明
在实际开发工作中,往往需要通过命令行来执行 Python 脚本,并传递一些参数。为了方便控制和管理传递的参数,Python 提供了 argparse 模块。该模块可以解析命令行参数,并做好帮助文档的输出。
使用方法
argparse 模块的使用方法如下:
- 构造 ArgumentParser 对象
- 添加参数选项 add_argument()
- 解析参数 parse_args()
示例1
下面是一个示例代码,该代码演示如何使用 argparse 进行参数的解析:
import argparse
parser = argparse.ArgumentParser(description="Python argparse 演示程序")
parser.add_argument("--level", type=int, default=0, help="设置日志输出级别,默认为0")
parser.add_argument("--url", type=str, required=True, help="设置 URL 地址,必须填写")
args = parser.parse_args()
print("程序执行中,日志级别为:", args.level)
print("程序执行中,URL 为:", args.url)
上面的代码有两个参数选项:
--level
:用于设置日志级别,选项类型为 int,默认值为 0,并提供了帮助文档;--url
:用于设置 URL 地址,选项类型为 str,必须填写,并提供了帮助文档;
在运行该程序时,可以通过命令行来传递参数。例如:
python argparse_demo.py --level 3 --url www.test.com
上面的命令行中,我们传递了两个参数,一个是 --level
,值为 3,另一个是 --url
,值为 www.test.com。程序将会解析这些参数,并输出:
程序执行中,日志级别为: 3
程序执行中,URL 为: www.test.com
示例2
下面是另一个示例代码,该代码演示如何使用 argparse 进行位置参数的解析:
import argparse
parser = argparse.ArgumentParser(description="Python argparse 演示程序")
parser.add_argument("file", help="要处理的文件路径")
parser.add_argument("--count", type=int, default=10, help="设置行数,默认为10")
parser.add_argument("--encoding", type=str, default="utf-8", help="设置编码格式,默认为utf-8")
args = parser.parse_args()
with open(args.file, "r", encoding=args.encoding) as f:
lines = f.readlines()
for line in lines[:args.count]:
print(line.strip())
上面的代码中,我们定义了一个参数选项 file
,该选项不使用 --
,而是作为一个位置参数传递给程序,在解析时还需要提供帮助文档。此外,还定义了两个可选的参数选项:
--count
:用于设置输出行数的个数,默认为 10 行,并提供了帮助文档;--encoding
:用于设置读取文件的编码格式,选项类型为 str,默认值为 utf-8,并提供了帮助文档;
在运行该程序时,需要通过命令行传递一个要处理的文件路径:
python argparse_demo2.py testfile.txt
上面的命令行中包含了一个位置参数,值为 testfile.txt。程序将会解析这些参数,并读取该文件中前10行的内容(如果有的话):
This is the first line.
This is the second line.
This is the third line.
This is the fourth line.
This is the fifth line.
This is the sixth line.
This is the seventh line.
This is the eighth line.
This is the ninth line.
This is the tenth line.
总结
通过使用 argparse 模块,我们可以很方便地进行命令行参数的解析和管理。本文介绍了 argparse 模块的基本用法,并给出了两个示例代码,分别演示了可选参数和位置参数的使用。如果你有更多的参数需要定义,可以继续使用 add_argument() 方法添加参数选项。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python argparse 模块命令行参数用法及说明 - Python技术站