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运算π的值深入Python中科学计算的实现
Apr 17 Python
Python中selenium实现文件上传所有方法整理总结
Apr 01 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
解读python如何实现决策树算法
Oct 11 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
Dec 12 Python
django模板结构优化的方法
Feb 28 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
如何判断pytorch是否支持GPU加速
Jun 01 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
简单谈谈React中的路由系统
2017/07/25 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python标准库urllib2的一些使用细节总结
2015/03/16 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
体育系毕业生自荐信
2014/06/28 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
考勤制度通知
2015/04/25 职场文书
初中生物教学反思
2016/02/20 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers