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正则表达式分组概念与用法详解
Jun 24 Python
Python实现二维数组输出为图片
Apr 03 Python
Python利用正则表达式实现计算器算法思路解析
Apr 25 Python
​如何愉快地迁移到 Python 3
Apr 28 Python
python脚本当作Linux中的服务启动实现方法
Jun 28 Python
python设置随机种子实例讲解
Sep 12 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
python安装和pycharm环境搭建设置方法
May 27 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 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
php使用base64加密解密图片示例分享
2014/01/20 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
js阻止冒泡和默认事件(默认行为)详解
2016/10/20 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
Python常用特殊方法实例总结
2019/03/22 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
医学院校毕业生自荐信范文
2014/01/01 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
地球一小时宣传标语
2014/06/24 职场文书
软环境建设心得体会
2014/09/09 职场文书
2015年校长新年寄语
2014/12/08 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
辩护词范文大全
2015/05/21 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js