对python3中pathlib库的Path类的使用详解


Posted in Python onOctober 14, 2018

用了很久的os.path,今天发现竟然还有这么好用的库,记录下来以便使用。

1.调用库

from pathlib import

2.创建Path对象

p = Path('D:/python/1.py')
print(p)

#可以这么使用,相当于os.path.join()
p1 = Path('D:/python')
p2 = p1/'123'
print(p2)

结果

D:\python\1.py
D:\python\123

3.Path.cwd()

获取当前路径

path = Path.cwd()
print(path)

结果:

D:\python

4.Path.stat()

获取当前文件的信息

p = Path('1.py')
print(p.stat())

结果

os.stat_result(st_mode=33206, st_ino=8444249301448143, st_dev=2561774433, st_nlink=1, st_uid=0, st_gid=0, st_size=4, st_atime=1525926554, st_mtime=1525926554, st_ctime=1525926554)

5.Path.exists()

判断当前路径是否是文件或者文件夹

>>> Path('.').exists()
True
>>> Path('1.py').exists()
True
>>> Path('2.py').exists()
False

6.Path.glob(pattern)与Path.rglob(pattern)

Path.glob(pattern):获取路径下的所有符合pattern的文件,返回一个generator

目录下的文件如下:

对python3中pathlib库的Path类的使用详解

以下是获取该目录下所有py文件的路径:

path=Path.cwd()
pys = path.glob('*.py')#pys是经过yield产生的迭代器
for py in pys:
  print(py)

结果:

C:\python\1.py
C:\python\11.py
C:\python\1111.py
C:\python\11111.py

Path.rglob(pattern):与上面类似,只不过是返回路径中所有子文件夹的符合pattern的文件。

7.Path.is_dir()与Path.is_file()

Path.is_dir()判断该路径是否是文件夹 
Path.is_file()判断该路径是否是文件

print('p1:')
p1 = Path('D:/python')
print(p1.is_dir())
print(p1.is_file())

print('p2:')
p2 = Path('D:/python/1.py')
print(p2.is_dir())
print(p2.is_file())

#当路径不存在时也会返回Fasle
print('wrong path:')
print(Path('D:/NoneExistsPath').is_dir())
print(Path('D:/NoneExistsPath').is_file())

结果

p1:
True
False
p2:
False
True
wrong path:
False
False

8.Path.iterdir()

当path为文件夹时,通过yield产生path文件夹下的所有文件、文件夹路径的迭代器

p = Path.cwd()
for i in p.iterdir():
  print(i)

结果

D:\python\1.py
D:\python\11.py
D:\python\1111.py
D:\python\11111.py
D:\python\dir

9.Path.mkdir(mode=0o777,parents=Fasle)

根据路径创建文件夹

parents=True时,会依次创建路径中间缺少的文件夹

p_new = p/'new_dir'
p_new.mkdir()

p_news = p/'new_dirs/new_dir'
p_news.mkdir(parents=True)

结果

对python3中pathlib库的Path类的使用详解

10.Path.open(mode='r', buffering=-1, encoding=None, errors=None, newline=None)

类似于open()函数

11.Path.rename(target)

当target是string时,重命名文件或文件夹

当target是Path时,重命名并移动文件或文件夹

p1 = Path('1.py')
p1.rename('new_name.py')

p2 = Path('11.py')
target = Path('new_dir/new_name.py')
p2.rename(target)

结果

对python3中pathlib库的Path类的使用详解

12.Path.replace(target)

重命名当前文件或文件夹,如果target所指示的文件或文件夹已存在,则覆盖原文件

13.Path.parent(),Path.parents()

parent获取path的上级路径,parents获取path的所有上级路径

14.Path.is_absolute()

判断path是否是绝对路径

15.Path.match(pattern)

判断path是否满足pattern

16.Path.rmdir()

当path为空文件夹的时候,删除该文件夹

17.Path.name

获取path文件名

18.Path.suffix

获取path文件后缀

以上这篇对python3中pathlib库的Path类的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的简单万年历例子分享
Apr 25 Python
python k-近邻算法实例分享
Jun 11 Python
python中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
用pandas按列合并两个文件的实例
Apr 12 Python
python数字图像处理实现直方图与均衡化
May 04 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
python圣诞树编写实例详解
Feb 13 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
Mar 05 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
python使用numpy读取、保存txt数据的实例
Oct 14 #Python
Python读取txt某几列绘图的方法
Oct 14 #Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 #Python
python得到qq句柄,并显示在前台的方法
Oct 14 #Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
Oct 14 #Python
python读取文本中的坐标方法
Oct 14 #Python
Python 实现Windows开机运行某软件的方法
Oct 14 #Python
You might like
php发送post请求函数分享
2014/03/06 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
Smarty3配置及入门语法
2017/02/22 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
python保存二维数组到txt文件中的方法
2018/11/15 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
python协程之动态添加任务的方法
2019/02/19 Python
python tkinter canvas使用实例
2019/11/04 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
大学运动会通讯稿
2014/01/28 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
毕业生学校组织意见
2015/06/04 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
JavaScript 数组去重详解
2021/09/15 Javascript
springboot实现string转json json里面带数组
2022/06/16 Java/Android
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技