python文件与路径操作神器 pathlib


Posted in Python onApril 01, 2022

pathlib中封装了PurePath和Path类,前者用于处理路径风格的字符串;后者是前者的子类,可直接处理路径。

PurePath最甜的功能是重载了运算符,从而可以实现类似下面这种

>>> from pathlib import Path, PurePath
>>> pp = PurePath("E:/")
>>> pp
PureWindowsPath('E:/')
>>> pp/"test"
PureWindowsPath('E:/test')

对于PurePath对象来说,可调用下面的成员或成员函数:

python文件与路径操作神器 pathlib

其中,主文件名即去除后缀之后的文件名。

PurePath类中还有一些稍微复杂的函数,

>>> pp = PurePath("E:\Code\test.py")
# 用于匹配文件后缀
>>> pp.match("*.py")
True
# 去除基准路径
>>> pp.relative_to("E:\\")
PureWindowsPath('Code\test.py')
# 更改文件名
>>> pp.with_name('test1.py')
PureWindowsPath('E:/test1.py')
# 更改后缀名
>>> pp.with_suffix(".md")
PureWindowsPath('E:/Code\test.md')
# 更改主文件名
>>> pp.with_stem("help.md")
PureWindowsPath('E:/help.md.py')

Path

Path是PurePath的子类,在PurePath的基础上添加了一些判定函数,

   
判定函数 ,is_file,is_fifo,
is_block_device,is_char_device,
is_mount,is_symlink,is_socket

Path对象还可以打开并写入数据,但令人绝望的是并没有close函数,所以并不建议使用。或者说,这个Path.open不像是给程序员使用的,因为Path中提供了更加便捷的读写方式read_bytes,read_text以及write_bytes、write_text。

例如:

>>> p = Path(r'E:\Documents\00\0324\Test.txt')
>>> p.write_text("hello world")
11
>>> p.read_text()
'hello world'
>>>

此外,可用于直接操作文件和文件夹,提供了非常强大的文件处理功能。Path和os中提供的函数在功能上对应如下

python文件与路径操作神器 pathlib

python文件与路径操作神器 pathlib

到此这篇关于python文件与路径操作神器 pathlib的文章就介绍到这了,更多相关python 中的pathlib内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python爬取网站数据保存使用的方法
Nov 20 Python
python绘图方法实例入门
May 19 Python
Python读写ini文件的方法
May 28 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 Python
python多线程分块读取文件
Aug 29 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
python实现密度聚类(模板代码+sklearn代码)
Apr 27 Python
Python小白垃圾回收机制入门
Jun 09 Python
python 爬虫如何实现百度翻译
Nov 16 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
pandas求平均数和中位数的方法实例
Aug 04 Python
Python下载商品数据并连接数据库且保存数据
Python turtle编写简单的球类小游戏
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 #Python
Pandas数据结构之Series的使用
Mar 31 #Python
python获取字符串中的email
Mar 31 #Python
Python利用FlashText算法实现替换字符串
详解Python flask的前后端交互
Mar 31 #Python
You might like
由php的call_user_func传reference引发的思考
2010/07/23 PHP
php下安装配置fckeditor编辑器的方法
2011/03/02 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
php实现微信发红包
2015/12/05 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
ArrayList类(增强版)
2007/04/04 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python代码解决RenderView窗口not found问题
2016/08/28 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
Python如何读取、写入JSON数据
2020/07/28 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
园林设计师自荐信
2013/11/18 职场文书
大学生自我鉴定
2013/12/16 职场文书
公司总经理岗位职责
2014/03/15 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
springcloud整合seata
2022/05/20 Java/Android