对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实现telnet客户端的方法
Apr 15 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
使用python实现ANN
Dec 20 Python
Python给你的头像加上圣诞帽
Jan 04 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
Pyqt5实现英文学习词典
Jun 24 Python
python中的decimal类型转换实例详解
Jun 26 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
基于Python的接口自动化读写excel文件的方法
Jan 15 Python
Django 实现jwt认证的示例
Apr 30 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中foreach语句控制数组循环的用法
2015/11/30 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
详解如何运行vue项目
2019/04/15 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
python 贪心算法的实现
2020/09/18 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
项目资料员岗位职责
2013/12/10 职场文书
完美主义个人的自我评价
2014/02/17 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
2014年医生工作总结
2014/11/21 职场文书
大雁塔导游词
2015/02/04 职场文书
中国合伙人观后感
2015/06/02 职场文书
农村老人去世追悼词
2015/06/23 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
gateway网关接口请求的校验方式
2021/07/15 Java/Android
python对文档中元素删除,替换操作
2022/04/02 Python