当前位置: 首页 > news >正文

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这个命名空间对象当中,例如上面的例子,增加了两个参数nameage,所以可以通过args.nameargs.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 argsdef main():args = parse_args()print(f"Hello, {args.name}! You are {args.age} years old.")if __name__ == "__main__":main()
http://www.dtcms.com/a/427090.html

相关文章:

  • 开源 java android app 开发(十七)封库--混淆源码
  • windows显示驱动开发-IddCx 对象
  • 图书馆网站建设的作用广州新建站
  • (27)APS.NET Core8.0 堆栈原理通俗理解
  • SVN 一些命令疑问
  • 精读 C++20 设计模式:行为型设计模式 — 状态机模式
  • 多周期路径约束
  • Webpack配置之path.join、path.resolve和__dirname详解
  • vue打包优化方案都有哪些?
  • Golang 中的字符串:常见错误和最佳实践
  • 花生壳建设网站怎样做网络营销推广
  • 【Rust GUI开发入门】编写一个本地音乐播放器(8. 从文件中提取歌曲元信息)
  • 国内个人网站建设贾汪城乡建设局网站
  • CentOS二进制安装包方式部署K8S集群之系统初始化
  • Spring Boot 缓存集成实践
  • 力扣Hot100--21.合并两个有序链表
  • 网络安全和NLP、CV是并行的应用吗?
  • 如何做好一个企业网站专门做图片的网站
  • 网页设计网站wordpress公告栏插件
  • C++ 位运算 高频面试考点 力扣 371. 两整数之和 题解 每日一题
  • 网络安全常见敏感目录字典
  • React学习(三)--- 组件化开发编写css
  • 设计模式(C++)详解——观察者模式(Observer)(1)
  • 网站建设报表明细新手做网站看什么书
  • 微课网站开发如何查看网站域名
  • Spring工程 生成表和mapper文件
  • 服装培训网站建设网站图片切换
  • Python爬虫实战:获取丁香人才网招聘信息与数据分析
  • 光学转镜最小长度计算模型:基于视场角与有效口径的匹配算法
  • 汉子由来 外国人做的网站网页设计的尺寸是指