对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 16 Python
实例解析Python的Twisted框架中Deferred对象的用法
May 25 Python
Python enumerate索引迭代代码解析
Jan 19 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
Django中反向生成models.py的实例讲解
May 30 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
TensorFlow打印tensor值的实现方法
Jul 27 Python
Python之Numpy的超实用基础详细教程
Oct 23 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
Python 如何测试文件是否存在
Jul 31 Python
pycharm 快速解决python代码冲突的问题
Jan 15 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使用GD实现颜色渐变实例
2015/06/02 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
PHP实现简单的计算器
2020/08/28 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
JavaScript 动态创建VML的方法
2009/10/14 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
JavaScript入门之基本函数详解
2011/10/21 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
js 颜色选择插件
2017/01/23 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
利用Psyco提升Python运行速度
2014/12/24 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
python中的随机函数小结
2018/01/27 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python中强大的format函数实例详解
2018/12/05 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
python flask搭建web应用教程
2019/11/19 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
铭立家具面试题
2012/12/06 面试题
军人违纪检讨书
2014/02/04 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
统招统分证明
2015/06/23 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers