对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
猜你喜欢
- 其实图像识别技术与我们平时做的密码验证之类的没有什么区别,都是事先把要校验的数据入库,然后使用时将录入(识别)的数据与库中的数据做对比,只不
- 如下所示:# -*- coding: UTF-8 -*-import waveimport numpy as npimport matplo
- 使用setTimeout存在的潜在问题在开发项目中遇到这样的序曲,点击按钮弹框,每次进入的时候都需要默认选中Android,这个时候就遇到了
- 许多人在数据科学、机器学习、web开发、脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言。Python流行的部分原因在于
- 介绍OpenCV 是一个很好的处理图像和视频的工具。无论你是想让你的照片呈现 90 年代的黑白效果,还是执行复杂的数学运算,OpenCV 都
- 2010新的架构工具可以让我们了解应用程序和功能设计,并帮助验证设计和执行不偏离。它除了支持一般系统分析设计流程(需求→实体)外,也支持另一
- 本文实例讲述了Python面向对象程序设计构造函数和析构函数用法。分享给大家供大家参考,具体如下:构造函数和析构函数1、构造方法的使用很多类
- 第一种是进行多项式拟合,数学上可以证明,任意函数都可以表示为多项式形式。具体示例如下。###拟合年龄import numpy as npim
- 需求描述:展示信息时其中部门区域是未知数量的,需要通过遍历进行展示。如下图举例,其中地址和备注是一一对应关系,需遵循该样式。问题描述:起初我
- 随着网络的发展,越来越多的网络平台应运而生。如何获得更多的流量,吸引更多的眼球已经成为网络平台生存、发展的必要条件。现在网络平台最常见的一种
- 本文实例讲述了Python3实现爬取简书首页文章标题和文章链接的方法。分享给大家供大家参考,具体如下:from urllib import
- 本文实例讲述了JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法。分享给大家供大家参考,具体如下
- 根据Vue.js + Element UI + MongoDB进行开发P1 安装Vue-CLIVue.js文档 利用Vue.js提供的一个官
- 处理前文件内容代码处理后的# 读取代码fr = open('three.txt', 'r')dic = {}
- 什么是多态?多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charl
- Django1.8.2中文文档:Django1.8.2中文文档上传图片配置上传文件保存目录1)新建上传文件保存目录。2)配置上传文件保存目录
- 前言大家都知道Web运维总要关注相关域名的实时2xx/s、4xx/s、5xx/s、响应时间、带宽等这些指标,之前的日志是五分钟一分割,简单的
- 本文实例讲述了Python实现计算两个时间之间相差天数的方法。分享给大家供大家参考,具体如下:#-*- encoding:UTF-8 -*-
- 目录前言初始化项目设计代码实现按需加载播放音频录音长按事件运行调试总结前言相信很多养猫的人都很想跟自己的猫进行沟通,当猫咪发出各种不同声音的
- 想必很多初次接触python都会见到这样一个语句,if __name__ == "__main__":那么这个语句到底是