对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 Sleep休眠函数使用简单实例
Feb 02 Python
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 Python
简单谈谈python中的Queue与多进程
Aug 25 Python
关于Django显示时间你应该知道的一些问题
Dec 25 Python
Python反射的用法实例分析
Feb 11 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
python判断设备是否联网的方法
Jun 29 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
Python 批量下载阴阳师网站壁纸
May 19 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
May 21 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
apache中为php 设置虚拟目录
2014/12/17 PHP
php多重接口的实现方法
2015/06/20 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
python:print格式化输出到文件的实例
2018/05/14 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
如何利用Python写个坦克大战
2020/11/18 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
项目专员岗位职责
2013/12/04 职场文书
温馨提示标语
2014/06/26 职场文书
一般党员对照检查材料
2014/09/24 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers