Python路径处理怎么写_pathlib使用指南

3次阅读

pathlib用path对象替代字符串拼接路径,跨平台兼容、操作直观可靠;支持/运算符拼接、内置exists()等方法、read_text()等i/o接口及resolve()解析路径。

Python路径处理怎么写_pathlib使用指南

用Path对象替代字符串拼接路径

传统用os.path.join()或字符串+操作拼路径,容易出错、跨平台兼容性差。pathlib用面向对象方式处理路径,更直观可靠。

直接导入并创建Path实例:

  • from pathlib import Path
  • p = Path(“/home/user/docs”) —— 自动适配系统分隔符(windowslinux/macos/
  • p / “report.txt” —— 用/运算符拼子路径,比os.path.join(p, "report.txt")简洁自然

常用路径操作一步到位

Path对象自带大量实用方法,无需额外调用os模块:

  • p.exists() 判断路径是否存在
  • p.is_file()p.is_dir() 判断类型
  • p.parent 获取上一级目录;p.name 取文件名;p.suffix 取扩展名(如.py
  • list(p.iterdir()) 遍历当前目录下所有子项(返回Path对象列表)
  • list(p.rglob(“*.py”)) 递归查找所有.py文件

读写文件不再依赖open()手动管理

Path对象提供简洁的I/O接口,适合小文件快速操作:

立即学习Python免费学习笔记(深入)”;

  • p.read_text(encoding=”utf-8″) —— 读取文本内容(自动编码解码)
  • p.write_text(“hellonworld”, encoding=”utf-8″) —— 写入文本(会覆盖原文件)
  • p.read_bytes()p.write_bytes(…) 处理二进制数据
  • 大文件或需精细控制(如逐行读、追加写),仍建议用with p.open(...) as f:,它返回标准file对象

路径解析与跨平台适配要点

pathlib默认按当前系统规则解析路径,但要注意几个易错点:

  • 相对路径以当前工作目录为基准,可用Path.cwd()查看
  • p.resolve()获取绝对路径(自动处理...,且检查存在性)
  • Windows下盘符路径如Path("C:/temp")可正常工作;反斜杠字符串需用原始字符串r"C:temp"或正斜杠
  • 避免混合使用str(p)和Path对象——多数情况直接传Path即可被python标准库接受(如shutil.copy(p, q)
text=ZqhQzanResources