对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 encode和decode的妙用
Sep 02 Python
Python中os和shutil模块实用方法集锦
May 13 Python
python创建列表并给列表赋初始值的方法
Jul 28 Python
Python监控主机是否存活并以邮件报警
Sep 22 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
python删除服务器文件代码示例
Feb 09 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
python实现大转盘抽奖效果
Jan 22 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
Python如何获取文件指定行的内容
May 27 Python
python使用自定义钉钉机器人的示例代码
Jun 24 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实现通过照片获取ip地址
2016/04/26 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
Javascript Global对象
2009/08/13 Javascript
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python向excel中写入数据的方法
2019/05/05 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
tensorflow 查看梯度方式
2020/02/04 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
求职意向书范文
2014/04/01 职场文书
专科生就业求职信
2014/06/22 职场文书
民间借贷借条如何写
2015/05/26 职场文书
心灵点滴观后感
2015/06/02 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android
Pandas-DataFrame知识点汇总
2022/03/16 Python