对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中cPickle用法例子分享
Jan 03 Python
详解Python当中的字符串和编码
Apr 25 Python
python简单实现计算过期时间的方法
Jun 09 Python
Python环境变量设置方法
Aug 28 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
利用python将图片版PDF转文字版PDF
May 03 Python
python里dict变成list实例方法
Jun 26 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
Python: 传递列表副本方式
Dec 19 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 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函数in_array()使用详解
2014/08/20 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
微信小程序 上传头像的实例详解
2017/10/27 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
vue watch关于对象内的属性监听
2019/04/22 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
js里面的变量范围分享
2020/07/18 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
详解Python字符串对象的实现
2015/12/24 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python根据时间获取周数代码实例
2019/09/30 Python
python实现拼图小游戏
2020/02/22 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
研究生自我鉴定范文
2013/10/30 职场文书
精细化工应届生求职信
2013/11/17 职场文书
优质服务活动实施方案
2014/05/02 职场文书
社区党员干部承诺书
2015/05/04 职场文书
Python3 如何开启自带http服务
2021/05/18 Python