对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装饰器使用方法实例
Nov 21 Python
python遍历文件夹并删除特定格式文件的示例
Mar 05 Python
python实现简单的计时器功能函数
Mar 14 Python
Python爬取京东的商品分类与链接
Aug 26 Python
Python操作Access数据库基本步骤分析
Sep 19 Python
Python实现读取机器硬件信息的方法示例
Jun 09 Python
Django models.py应用实现过程详解
Jul 29 Python
pytorch 实现打印模型的参数值
Dec 30 Python
Python GUI自动化实现绕过验证码登录
Jan 10 Python
套娃式文件夹如何通过Python批量处理
Aug 23 Python
python爬虫爬取网页数据并解析数据
Sep 18 Python
浅谈Python __init__.py的作用
Oct 28 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桌面中心(二) 数据库写入
2007/03/11 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
Document 对象的常用方法
2009/07/31 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
深入理解Python 多线程
2020/06/16 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
汉语言文学毕业生求职信
2013/10/01 职场文书
专科毕业生自我鉴定
2013/12/01 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
郭明义电影观后感
2015/06/08 职场文书
读书笔记格式
2015/07/02 职场文书
七年级英语教学反思
2016/02/15 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
导游词之河北野三坡
2019/12/11 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
浅谈JS的原型和原型链
2021/06/04 Javascript
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
mysql脏页是什么
2021/07/26 MySQL