对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 13 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
python 连接sqlite及简单操作
Jun 30 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
Python切片操作实例分析
Mar 16 Python
TensorFlow实现简单卷积神经网络
May 24 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
详解Python给照片换底色(蓝底换红底)
Mar 22 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
Python如何使用input函数获取输入
Aug 06 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
Python可视化神器pyecharts绘制水球图
Jul 07 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
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
2017/01/13 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
Python 的描述符 descriptor详解
2016/02/27 Python
python用户管理系统
2018/03/13 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
python中scikit-learn机器代码实例
2018/08/05 Python
基于树莓派的语音对话机器人
2019/06/17 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
Vita Fede官网:在意大利手工制作,在纽约市设计
2019/10/25 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
高中语文教学反思
2014/01/16 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
保证书格式范文
2014/04/28 职场文书
2015年财务部工作总结
2015/04/10 职场文书
飞屋环游记观后感
2015/06/08 职场文书
圣诞晚会主持词
2015/07/01 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python