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

【Python 工具人快餐 · 第 7 份 · 完结】

开袋即食

argparse 把「-h/–help」自动生成、类型转换、默认值、互斥组全打包。
5 行代码,你的脚本就能像 Linux 原生命令一样优雅。


5 行标配模板

import argparse, textwrap
parser = argparse.ArgumentParser(description="示例工具:把输入文件转成大写",formatter_class=argparse.RawDescriptionHelpFormatter,epilog=textwrap.dedent("""例子:python tool.py input.txt -o output.txt --upper"""))
parser.add_argument("infile", help="输入文件")
parser.add_argument("-o", "--outfile", default="out.txt", help="输出文件")
parser.add_argument("--upper", action="store_true", help="转大写")
args = parser.parse_args()

场景实拍:大小写转换器

完整脚本(含业务逻辑共 10 行):

import argparse, pathlib
parser = argparse.ArgumentParser(description="大小写转换器")
parser.add_argument("input", help="源文件")
parser.add_argument("-o", "--output", default="result.txt", help="目标文件")
parser.add_argument("--upper", action="store_true", help="转大写,否则转小写")
args = parser.parse_args()text = pathlib.Path(args.input).read_text()
out = text.upper() if args.upper else text.lower()
pathlib.Path(args.output).write_text(out)
print(f"已写入 {args.output}")

运行效果:

$ python tool.py hello.txt -o HELLO.txt --upper
已写入 HELLO.txt
$ python tool.py -h
usage: tool.py [-h] [-o OUTPUT] [--upper] input
...

升级加料

  1. 类型检查:parser.add_argument("--limit", type=int, default=10)
  2. 互斥组:group = parser.add_mutually_exclusive_group()
  3. 子命令:subparsers = parser.add_subparsers(dest="cmd")

打包带走
任何脚本,复制上面 5 行模板,改 3 个 add_argument,
瞬间拥有 --help、自动类型转换和友好报错,
你就是同事眼中的 CLI 大师!

http://www.dtcms.com/a/324464.html

相关文章:

  • Redis 监控与优化方案(C++项目)
  • [激光原理与应用-221]:设计 - 皮秒紫外激光器 - 常见技术难题、原因与解决方案
  • 北京天津廊坊唐山打捞失物日记
  • Docker-04:CGroups资源控制组
  • Go语言--语法基础8--函数定义与调用--错误处理
  • Java学习第一百二十三部分——HTTP/HTTPS
  • 基于VuePress2开发文档自部署及嵌入VUE项目
  • 【RH134知识点问答题】第 4 章 归档和传输文件
  • 【浮点数存储】结构、精度说明
  • 联邦学习之------VT合谋
  • Pico+unity VR入门开发超详细笔记2025
  • 人形机器人强化学习入门实践1part
  • stm32没有CMSIS文件
  • Redis如何实现一个分布式锁?
  • 第4章 程序段的反复执行3 do-whiile语句P139练习(题及答案)
  • [Linux]学习笔记系列 -- [arm][lib]
  • C++的嵌套结构体
  • Deep Learning MNIST手写数字识别 Mac
  • 【从源码角度深度理解 CPython 的垃圾回收机制】:第2课循环引用:标记清除-分代回收
  • 7.企业级AD活动目录的备份与恢复策略
  • 【celeba】-数据集的介绍
  • 驱动电路设计
  • Ollama+Deepseek+Docker+RAGFlow打造自己的私人AI知识库
  • 【软件测试】性能测试 —— 工具篇 JMeter 介绍与使用
  • AI质检数据准备利器:基于Qt/QML 5.14的图像批量裁剪工具开发实战
  • 升级 JDK 17 碰到的请求 https 问题
  • 从0开始的中后台管理系统-5(userList页面功能实现)
  • 自测电脑有没有木马
  • 深度学习周报(8.4~8.10)
  • 使用binutils工具解析目标文件符号表(叁)