一个超好用的 Python 标准库,操作目录和文件太 666 了

简介: 一个超好用的 Python 标准库,操作目录和文件太 666 了

pathlib


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


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


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


640.png


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的常用属性


Path.parents  # 返回所有上级目录的列表
Path.parts  # 分割路径 类似os.path.split(), 不过返回元组
Path.suffix   # 返回文件后缀


pathlib的常用基本方法


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 的常用功能:


640.png


总结


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

本文我并没有罗列pathlib的每一个用法,我觉得最重要的是要充分理解 pathlib 基本组件,然后有疑问去查文档即可。

相关文章
|
6天前
|
XML JSON 数据库
Python的标准库
Python的标准库
117 77
|
2天前
|
计算机视觉 Python
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
19 7
|
20天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
60 4
数据分析的 10 个最佳 Python 库
|
7天前
|
XML JSON 数据库
Python的标准库
Python的标准库
33 11
|
20天前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
80 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
7天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
45 8
|
28天前
|
XML 存储 数据库
Python中的xmltodict库
xmltodict是Python中用于处理XML数据的强大库,可将XML数据与Python字典相互转换,适用于Web服务、配置文件读取及数据转换等场景。通过`parse`和`unparse`函数,轻松实现XML与字典间的转换,支持复杂结构和属性处理,并能有效管理错误。此外,还提供了实战案例,展示如何从XML配置文件中读取数据库连接信息并使用。
Python中的xmltodict库
|
27天前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
87 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
|
15天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
27 4
|
23天前
|
测试技术 Python
Python中的异步编程与`asyncio`库
Python中的异步编程与`asyncio`库