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 相关文章推荐
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 Python
如何在python中使用selenium的示例
Dec 26 Python
Python随机函数random()使用方法小结
Apr 29 Python
从django的中间件直接返回请求的方法
May 30 Python
redis之django-redis的简单缓存使用
Jun 07 Python
pandas数据筛选和csv操作的实现方法
Jul 02 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
python3让print输出不换行的方法
Aug 24 Python
python Matplotlib数据可视化(1):简单入门
Sep 30 Python
python自动化发送邮件实例讲解
Jan 04 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 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
Home Coffee Roasting
2021/03/03 咖啡文化
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php自定义apk安装包实例
2014/10/20 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
Python冒泡排序注意要点实例详解
2016/09/09 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
python中删除某个元素的方法解析
2019/11/05 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
Python Http请求json解析库用法解析
2020/11/28 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
数组越界问题
2015/10/21 面试题
Linux上比较文件的命令都有哪些
2013/09/28 面试题
护士实习鉴定范文
2013/12/22 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
心理健康日活动总结
2014/05/08 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书