一个超好用的 Python 标准库,完全玩透路径操做

2022年01月16日 阅读数:2
这篇文章主要向大家介绍一个超好用的 Python 标准库,完全玩透路径操做,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

pathlib

学习 Python 时,尤为是在进行文件操做和数据处理时,常常会处理路径问题。最经常使用和常见的是 os.path 模块,它将路径当作字符串进行处理,若是使用不当可能致使难以察觉的错误,并且代码很难跨平台复用。pathlib 就是一个很是棒的Python标准库,超级好用。html

pathlib模块提供了一种在 POSIX 系统(如 Linux 和 Windows)下运行良好的高级抽象。pathlib 抽象了资源路径和资源命名结构,它把文件系统接口从os模块中隔离出来,将操做做为方法提供,使用更简单。python

下面这张图,完美诠释pathlib的核心学习

pathlib 基本组件

>>> from pathlib import Path

>>> path = Path(r'C:/Users/Miguel/projects/blog/config.tar.gz')

>>> path.drive
'C:'

>>> path.root
'/'

>>> path.root
'C:/'

>>> path.parent
WindowsPath('C:/Users/Miguel/projects/blog')

>>> path.name
'config.tar.gz'

>>> path.stem
'config.tar'

>>> path.suffix
'.gz'

>>> path.suffixes
['.tar', '.gz']

经常使用属性和基本方法

pathlib的经常使用属性spa

Path.parents  # 返回全部上级目录的列表

Path.parts  # 分割路径 相似os.path.split(), 不过返回元组

Path.suffix   # 返回文件后缀

pathlib的经常使用基本方法code

Path.is_dir()  # 判断是不是目录

Path.is_file()  # 是不是文件

Path.exists()  # 判断路径是否存在

Path.open()  # 打开文件(支持with)

Path.resolve()  # 返回绝对路径

Path.cwd()  # 返回当前目录

Path.iterdir()  # 遍历目录的子目录或者文件

Path.mkdir()  # 建立目录

Path.rename()  # 重命名路径

Path.unlink()  # 删除文件或目录(目录非空触发异常)

Path.joinpath()  # 拼接路径

os and os.path VS pathlib

pathlib 可替代 os 和 os.path 的经常使用功能:
htm

总结

pathlib 将路径做为对象建立,提供了处理文件路径的方便快捷的方法。对象

本文我并无罗列pathlib的每个用法,最核心的是要充分理解 pathlib 基本组件,而后有疑问去查文档便可。blog

参考:
https://miguendes.me/python-pathlib
https://docs.python.org/3/library/pathlib.html
https://www.cnblogs.com/poloyy/p/12435628.html接口