python 之 argparse的简单使用
·
文章目录
argparse是什么?
argparse是python标准库当中一个模块,用于命令行参数解析,可以帮助你轻松地编写用户友好的命令行接口,自动生成帮助信息,并进行参数类型检查
导入库
- 首先使用
import用来导入库
import argparse
创建一个解析器
- 使用
argparse.ArgumentParser来创建一个参数解析器对象
parser = argparse.ArgumentParser(decription="这是一个测试argparse的脚本")
description参数会在用户运行下面的命令的时候显示,作为脚本功能说明
python script.py --help
添加参数
- 使用
add_argument用来定义一个命令行参数 - 参数设置
type用于指定参数的数据类型default用于指定当用户不提供该参数时的默认值
parser.add_argument("--name",type=str,default="niuniu")
parser.add_argument("--age",type=int,default=22)
解析参数
parse_args()会读取命令行输入,并将其转换为相应的python对象
args = parser.parse_args()
- 解析结果存储在
args这个命名空间对象当中,例如上面的例子,增加了两个参数name和age,所以可以通过args.name和args.age来访问参数值
简单的测试
import argparse
# 创建一个解析器
parser = argparse.ArgumentParser(description="这是一个测试argparse的脚本")
# 添加参数
parser.add_argument("--name", type=str, default="niuniu")
parser.add_argument("--age", type=int, default=22)
# 解析参数
args = parser.parse_args()
print(f"Hello, {args.name}! You are {args.age} years old.")
测试
description

测试参数

模块化
- 在实际的项目当中,我们常常将这个
argparse的使用定义为一个函数模块,通过在main函数里面进行调用,来进行模块化使用
import argparse
# 定义一个函数,返回一个argparse.Namespace对象
# 这个-> argparse.Namespace表示返回一个argparse.Namespace对象(没有也可以)
def parse_args() -> argparse.Namespace:
# 创建一个解析器
parser = argparse.ArgumentParser(description="这是一个测试argparse的脚本")
# 添加参数
parser.add_argument("--name", type=str, default="niuniu")
parser.add_argument("--age", type=int, default=22)
# 解析参数
args = parser.parse_args()
return args
def main():
args = parse_args()
print(f"Hello, {args.name}! You are {args.age} years old.")
if __name__ == "__main__":
main()
更多推荐



所有评论(0)