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

【Python 工具人快餐 · 第 1 份】

开袋即食

pathlib 把「路径」变成面向对象的小机器人:
/ 运算符拼路径,.open() 读写文件,.glob() 递归搜索,全部自带跨平台滤镜。


1 行代码 3 连发

from pathlib import Pathp = Path('docs') / 'report' / '2024' / 'Q2.txt'   # 跨平台拼接
p.write_text('done', encoding='utf-8')             # 写文件
txt_files = list(p.parent.glob('*.txt'))           # 同级所有 txt

场景实拍:批量改后缀

需求:把当前目录下所有 .jpeg 改成 .jpg,并统计成功数量。

from pathlib import Pathrenamed = [f.rename(f.with_suffix('.jpg'))for f in Path.cwd().glob('*.jpeg')]
print(f"Renamed {len(renamed)} files")

一行循环 + with_suffix 搞定;Windows / macOS / Linux 通杀。


升级加料

  1. 只想要文件名不要扩展:f.stem
  2. 需要绝对路径:f.resolve()
  3. 递归搜索子目录:rglob('*.py')

打包带走 :记住:Path 就是路径界的 f-string, / 一敲,烦恼全消!

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

相关文章:

  • 【代码随想录|232.用栈实现队列、225.用队列实现栈、20.有效的括号、1047.删除字符串中的所有相邻重复项】
  • 第05章 排序与分页
  • 模板方法模式:优雅封装算法骨架
  • Python-UV-portry项目管理流程
  • redis8.0.3部署于mac
  • C++ 中的智能指针
  • Python 继承和多态
  • ElaWidgetTools qt5+vs2019编译
  • 1.JavaScript 介绍
  • 基于STM32的智能电表设计与实现
  • 计算机组成原理2-4-1:浮点数的表示
  • Linux 安装 JDK 8u291 教程(jdk-8u291-linux-x64.tar.gz 解压配置详细步骤)​
  • 【c++】探秘Loop机制:C++中优雅的双向数据交互模式
  • 低速CAN 高速CAN是否兼容?
  • 功能测试详解
  • 【面试题】cookie和session 的区别
  • Ubuntu下Nginx的部署后端项目(Java为例),配置Nginx代理
  • 自编教材实操课程学习笔记
  • 商品、股指及ETF期权五档盘口Tick级与分钟级历史行情数据多维解析
  • dify离线插件安装
  • Spring Boot Starter 自动化配置原理深度剖析
  • 【工具变量】地市人力资本水平数据集(2003-2023年)
  • 聊聊经常用的微服务
  • Java 枚举解析:从基础到进阶的知识点与注意事项
  • 【完整源码+数据集+部署教程】植物生长阶段检测系统源码和数据集:改进yolo11-rmt
  • gRPC for C++ 实战全流程 —— 从零搭建到同步/异步服务
  • vw和vh:CSS中的视口相对单位
  • Linux下管道的实现
  • 第十四节 代理模式
  • Android 设置/修改系统NTP服务地址