深入解析Python内置库pathlib模块
1. 概述
Pathlib模块提供了表示文件系统路径的类,其语义适用于不同的操作系统。路径类分为纯路径和具体路径,前者提供无I/O的纯计算操作,后者继承纯路径,但也提供I/O操作。
2. 与os模块中函数对应关系
下表将各种os模块函数映射到相应的PurePath/Path等价函数。
尽管os.path.relpath()和PurePath.rerelative_to()有一些重叠的用例,但它们的语义差异足以保证不认为它们是等效的。
函数具体作用请参考官网: (pathlib — Object-oriented filesystem paths — Python 3.9.17 documentation)
3. pathlib模块内置函数
3.1 获取目录
Path.cwd()
, 返回文件当前所在目录Path.home()
,返回用户的主目录from pathlib import Path
current_path = Path.cwd()
home_path = Path.home()
print(f"文件当前所在目录:{current_path }\n用户主目录:{home_path}")
输出:
文件当前所在目录:E:\CYX_DeepLearning
用户主目录:C:\Users\22799
3.2 目录拼接
from pathlib import Path
parts = ['dataset', '1.txt']
print(Path.cwd())
print(Path.cwd().joinpath(*parts))
print(Path.cwd().parent.joinpath(*parts))
print(Path.cwd().parent.parent.joinpath(*parts))
输出:
E:\CYX_DeepLearning
E:\CYX_DeepLearning\dataset\1.txt
E:\dataset\1.txt
E:\dataset\1.txt
斜杠 / 操作符用于拼接路径
from pathlib import Path
newPath = Path.cwd() / 'python'
print(Path.cwd())
print(f"目录为:{newPath}")
输出;
E:\CYX_DeepLearning
目录为:E:\CYX_DeepLearning\python
3.3 创建、删除目录, 计算相对路径
Path.mkdir()
,创建给定路径的目录。Path.rm
作者:Python_P叔