Python Standrad Library - File and Directory Access - pathlib
pathlib - Object-oriented filesystem paths 此模块提供表示文件系统路径的类,其语义适用于不同的操作系统。 路径类分为: 用于纯计算无 I/O 的 pure paths 继承 pure paths 但是有 I/O 操作的 concrete paths 基本使用 导入 Path from pathlib import Path p = Path('.') 列出所有子目录 [x for x in p.iterdir() if x.is_dir()] 列出所有 py 源码文件 list(p.glob('**/*.py')) 在目录树中移动 p = Path('/etc') q = p / 'init.d' / 'reboot' # .resolve() 方法会解析所有符号链接,返回文件绝对路径 # mac os 中的 /etc 实际上是一个符号链接,指向 /private/etc q.resolve() 查询文件路径 q.exists() # 文件是否存在 q.is_dir() # 是否为目录 打开一个文件 q = Path('.') / 'file.py' with q.open() as f: # 读取第一行内容 f.readline() Pure paths 纯路径 Pure path 对象提供路径处理操作,这些操作无需真的访问操作系统。 有三种方法来操作这些类,也被称为 flavours (风格): class pathlib.PurePath(*pathsegemnts) 为一个通用的类,代表当前系统的路径风格 >>> PurePath('setup.py') PurePosixPath('setup.py') pathsegments 的每个元素即可以是代表一个路径的字符串,也可以是实现了 os.PathLike 接口的对象,其中 fspath() 方法返回一个字符串,例如另一个路径对象: ...