对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获取各操作系统硬件信息的方法
Jun 03 Python
Python的GUI框架PySide的安装配置教程
Feb 16 Python
Python Web程序部署到Ubuntu服务器上的方法
Feb 22 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
python 自动轨迹绘制的实例代码
Jul 05 Python
python解析命令行参数的三种方法详解
Nov 29 Python
Python通过两个dataframe用for循环求笛卡尔积
Apr 29 Python
python使用正则表达式匹配txt特定字符串(有换行)
Dec 09 Python
python基于win32api实现键盘输入
Dec 09 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中echo和print的区别
2014/08/28 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
PHP实现验证码校验功能
2017/11/16 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
Javascript 实用小技巧
2010/04/07 Javascript
validator验证控件使用代码
2010/11/23 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
jquery序列化方法实例分析
2015/06/10 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
javascript回到顶部特效
2016/07/30 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
Python列表删除的三种方法代码分享
2017/10/31 Python
python得到单词模式的示例
2018/10/15 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
《金子》教学反思
2014/04/13 职场文书
教师党员自我评价范文
2015/03/04 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
保留意见审计报告
2015/06/05 职场文书
老乡会致辞
2015/07/28 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python