Python标准库pathlib操作目录和文件


Posted in Python onNovember 20, 2021

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

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

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

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

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

Python标准库pathlib操作目录和文件

总结

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

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

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

以上就是Python标准库pathlib操作目录和文件的详细内容,更多关于pathlib库操作目录和文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
用Python编写一个简单的FUSE文件系统的教程
Apr 02 Python
Python socket编程实例详解
May 27 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
Python搭建Spark分布式集群环境
Jul 05 Python
详解用python生成随机数的几种方法
Aug 04 Python
python函数修饰符@的使用方法解析
Sep 02 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
python推导式的使用方法实例
Feb 28 Python
基于flask实现五子棋小游戏
May 25 Python
python数据可视化使用pyfinance分析证券收益示例详解
python编程学习使用管道Pipe编写优化代码
Nov 20 #Python
python自动化测试通过日志3分钟定位bug
Nov 20 #Python
Python实现位图分割的效果
python脚本框架webpy模板赋值实现
python脚本框架webpy模板控制结构
Nov 20 #Python
python脚本框架webpy的url映射详解
Nov 20 #Python
You might like
将OICQ数据转成MYSQL数据
2006/10/09 PHP
使用PHP 5.0创建图形的巧妙方法
2010/10/12 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
告诉大家什么是JSON
2008/06/10 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
javascript模块化简单解析
2016/04/07 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
VueJS全面解析
2016/11/10 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
详解vuex的简单使用
2018/03/12 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python反转序列的方法实例分析
2018/03/21 Python
python程序变成软件的实操方法
2019/06/24 Python
Python生成器常见问题及解决方案
2020/03/21 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
财务管理专业推荐信
2013/11/19 职场文书
加拿大探亲邀请信
2014/01/28 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
春节请假条
2014/04/11 职场文书
公司股东出资证明书
2014/11/01 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书