对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编写暴力破解FTP密码小工具
Nov 19 Python
python实现RSA加密(解密)算法
Feb 17 Python
Python实现简单多线程任务队列
Feb 27 Python
Django卸载之后重新安装的方法
Mar 15 Python
python 中的int()函数怎么用
Oct 17 Python
python方向键控制上下左右代码
Jan 20 Python
python读取和保存图片5种方法对比
Sep 12 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 Python
Python骚操作之动态定义函数
Mar 26 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
Python 中 sorted 如何自定义比较逻辑
Feb 02 Python
使用Python解决图表与画布的间距问题
Apr 11 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
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP new static 和 new self详解
2017/02/19 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
JavaScript数组合并的多种方法
2016/05/22 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Python中常用的内置方法
2019/01/28 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
2020/11/05 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
空指针到底是什么
2012/08/07 面试题
高分子材料个人求职信范文
2013/09/25 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
投标诚信承诺书
2014/05/26 职场文书
房产电话营销开场白
2015/05/29 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
Python开发五子棋小游戏
2022/05/02 Python
python神经网络 使用Keras构建RNN训练
2022/05/04 Python