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 相关文章推荐
pycharm 使用心得(二)设置字体大小
Jun 05 Python
python元组操作实例解析
Sep 23 Python
跟老齐学Python之有容乃大的list(4)
Sep 28 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
解决已经安装requests,却依然提示No module named requests问题
May 18 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
python输出决策树图形的例子
Aug 09 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
Jun 10 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
python实现简单的名片管理系统
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 smarty的预保留变量总结
2008/12/04 PHP
php文件操作实例代码
2012/05/10 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
围观tangram js库
2010/12/28 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
Python 闭包的使用方法
2017/09/07 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
Python脚本调试工具安装过程
2021/01/11 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
html Table 表头固定的实现
2019/01/22 HTML / CSS
护士自荐信怎么写
2013/10/18 职场文书
普通大学毕业生自荐信
2013/11/04 职场文书
《小池塘》教学反思
2014/02/28 职场文书
迎国庆演讲稿
2014/09/15 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python