对python3中pathlib库的Path类的使用详解
作者:AManFromEarth 发布时间:2023-05-11 23:44:49
用了很久的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
目录下的文件如下:
以下是获取该目录下所有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)
结果
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)
结果
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文件后缀
来源:https://blog.csdn.net/AManFromEarth/article/details/80265843
猜你喜欢
- <html> <head> <script type="text/javascript"&
- 本文实例讲述了python实现可将字符转换成大写的tcp服务器。分享给大家供大家参考。具体分析如下:下面的python代码执行后通过tcp监
- 这篇文章主要介绍了基于Django实现日志记录报错信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS
- 最新版本的Python发布了!今年夏天,Python 3.8发布beta版本,在2019年10月14日,第一个正式版本已准备就绪。现在,我们
- choice()方法从一个列表,元组或字符串返回一个随机项。语法以下是choice()方法的语法:choice( seq )注意
- progress库安装和介绍1.安装progress库progress是Python第三方库,在终端执行 pip 命令安装。pip inst
- 在了解装饰器之前,我们需要知道什么闭包是什么鬼!闭包:在一个函数内定义了一个函数f,并且这个函数f引用外部变量,在把这个函数f当做返回值返回
- 本文所用环境:Python 3.6.5 |Anaconda custom (64-bit)|引言由于某些原因,需要用python读取二进制文
- 问题描述最近做一个项目,是用Python进行相关的串口操作。及将相关指令通过串口发给设备,设备根据发过来的指令来做出相应的操作,所用的库是P
- python3 manage.py makemigrations # 生成数据库迁移文件python3 manage.py migrate
- Python+matplotlib进行鼠标交互,实现动态标注,数据可视化显示,鼠标划过时画一条竖线并使用标签来显示当前值。Python3.6
- 背景在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的
- 本文实例分析了JS重载实现方法。分享给大家供大家参考,具体如下:重载是面向对象语言里很重要的一个特性,JS中没有真正的重载,是模拟出来的(因
- 1、我的第一个个人主页一打开就是一张很眩的图片,图片上有个“进入”,点击后才算真正看到我的主页。现在回想起来那个时候这样做,大概是很想迅速展
- 问题,用python生成如下所示的1000个txt文件?解答:import osfor i in range(0,1001): os.mkn
- 本文将以Mysql举例,介绍sqlalchemy的基本用法。其中,Python版本为2.7,sqlalchemy版本为1.1.6。一. 介绍
- 好久没有写ASP代码了,今天在做一个简单的留言本时,出现了一下错误: Microsoft Office Access Database En
- 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用。该方法的基本思想是:1.先从数列中取出一个数作为基准数
- numpy.amin()和numpy.amax()numpy.amin()用于计算数组中元素沿着指定轴的最小值。numpy.amax()用于