深入解析Python内置库pathlib模块

1. 概述

Pathlib模块提供了表示文件系统路径的类,其语义适用于不同的操作系统。路径类分为纯路径和具体路径,前者提供无I/O的纯计算操作,后者继承纯路径,但也提供I/O操作。

2. 与os模块中函数对应关系

下表将各种os模块函数映射到相应的PurePath/Path等价函数。

image.png

尽管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叔

    物联沃分享整理
    物联沃-IOTWORD物联网 » 深入解析Python内置库pathlib模块

    发表回复