对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基础教程之lambda表达式使用方法
Feb 12 Python
python获取当前计算机cpu数量的方法
Apr 18 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
Python中的取模运算方法
Nov 10 Python
python对列进行平移变换的方法(shift)
Jan 10 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
python线程定时器Timer实现原理解析
Nov 30 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
Flask中jinja2的继承实现方法及实例
Mar 03 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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数组交集的优化代码分析
2011/03/06 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
Python内置数据类型详解
2014/08/18 Python
python正则表达式re之compile函数解析
2017/10/25 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
缓刑人员的思想汇报
2014/01/11 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
关于保护环境的建议书
2014/05/13 职场文书
出国留学英文自荐信
2015/03/25 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书