Python/pathlib

< Python
Eric讨论 | 贡献2023年4月17日 (一) 07:32的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

Python的一个标准库,面向对象的文件系统路径,用于不同的操作系统。Python 3.4 加入。

对象

名称 描述 示例
PurePath
Path

方法

属性/方法 描述 示例
cwd() 返回当前工作目录的绝对路径。 Path.cwd()
home() 返回用户的主目录。 Path.home()
is_absolute() 判断路径是否为绝对路径。 Path('/usr/local').is_absolute()
joinpath() 连接路径,并返回一个新路径对象。 连接路径使用/更方便,如Path('/usr/local') / 'abc' / 'test.csv' 将返回Path('/usr/local/abc/test.csv') Path('/usr/local').joinpath('bin/python3')
name 返回路径的最后一部分,不包括末尾的分隔符。 Path('/usr/local/bin/python3').name
parent 返回路径的父目录,即去掉最后一部分后的路径。 Path('/usr/local/bin/python3').parent
parents 返回所有父目录的路径,从最远的祖先开始。 Path('/usr/local/bin/python3').parents
suffix 返回路径的文件扩展名,包括分隔符。 Path('/usr/local/bin/python3').suffix
with_name() 将路径的最后一部分更改为给定的名称。 Path('/usr/local/bin/python3').with_name('python2')
with_suffix() 返回与当前路径相同,但文件扩展名不同的新路径。 Path('/usr/local/bin/python3').with_suffix('.py')
glob() 返回此目录中匹配的文件。
from pathlib import Path

p = Path(r'D:\下载目录')
for file in p.glob('*.zip'):
    print(file.name)

Path('.').glob('**/*.py') 当前目录及其所有子目录中的py文件。
rglob() 返回此目录及其所有子目录中匹配的文件,即递归查找。相当于Path.glob()给定的相对 pattern 前面添加了 "**/" Path('.').glob('*.py') 当前目录及其所有子目录中的py文件。

了解更多 >> Python 文档:pathlib --- 面向对象的文件系统路径


os模块对应

官网

pathlib 官网:https://docs.python.org/3/library/pathlib.html