对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 相关文章推荐
paramiko模块安装和使用(远程登录服务器)
Jan 27 Python
python获取list下标及其值的简单方法
Sep 12 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
对python3标准库httpclient的使用详解
Dec 18 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
python语言基本语句用法总结
Jun 11 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
Python字典和列表性能之间的比较
Jun 07 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 Python
Python Flask实现进度条
May 11 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
php5.3 废弃函数小结
2010/05/16 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
jQuery 前的按键判断代码
2010/03/19 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
Python实现的tab文件操作类分享
2014/11/20 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
django缓存配置的几种方法详解
2018/07/16 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
Python函数返回不定数量的值方法
2019/01/22 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
表彰先进集体通报
2014/01/12 职场文书
销售经理岗位职责
2014/03/16 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
Golang中异常处理机制详解
2021/06/08 Golang
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript