当前位置:
首页 > Python基础教程 >
-
详解 Python pathlib(处理文件路径)模块函数
Python的pathlib模块提供了一种面向对象的处理文件路径和目录路径的方式。它在Python 3.4及以上版本中已经内置,无需安装额外的模块。
pathlib模块主要包含了两个类:Path和PurePath。Path是操作系统上的实际路径,而PurePath则是一个纯粹的路径,不考虑操作系统的差异。下面我们来详细讲解一下这两个类的用法。
Path类
Path类是pathlib模块的主要类,用于表示一个操作系统上的路径。通过Path类的实例,我们可以进行文件和目录的操作,比如创建、删除、重命名、遍历等等。
下面是一些常用的Path类的方法:
- Path.cwd():获取当前工作目录的Path对象
- Path.home():获取当前用户的主目录的Path对象
- Path.exists():判断当前路径是否存在
- Path.is_dir():判断当前路径是否是一个目录
- Path.is_file():判断当前路径是否是一个文件
- Path.mkdir():创建一个目录
- Path.rmdir():删除一个空目录
- Path.unlink():删除一个文件
- Path.rename():重命名一个文件或目录
- Path.glob():查找匹配的文件或目录
下面是一些具体的示例:
import pathlib
# 获取当前工作目录
path = pathlib.Path.cwd()
print(path)
# 获取当前用户主目录
home_path = pathlib.Path.home()
print(home_path)
# 判断当前路径是否存在
print(path.exists())
# 判断当前路径是否是一个目录
print(path.is_dir())
# 判断当前路径是否是一个文件
print(path.is_file())
# 创建一个目录
pathlib.Path("testdir").mkdir()
# 删除一个空目录
pathlib.Path("testdir").rmdir()
# 删除一个文件
pathlib.Path("test.txt").unlink()
# 重命名一个文件或目录
pathlib.Path("test.txt").rename("new_test.txt")
# 查找匹配的文件或目录
for file_path in pathlib.Path(".").glob("*.txt"):
print(file_path)
PurePath类
PurePath类是一个纯粹的路径类,它不考虑操作系统的差异,可以用于在不同操作系统上进行路径操作。它支持的操作与Path类大致相同,只是不支持文件和目录的创建、删除、重命名等操作。
下面是一些常用的PurePath类的方法:
- PurePath.joinpath():连接多个路径
- PurePath.parent:获取当前路径的父路径
- PurePath.name:获取当前路径的文件名或目录名
- PurePath.suffix:获取当前路径的后缀
- PurePath.suffixes:获取当前路径的所有后缀
- PurePath.stem:获取当前路径的文件名或目录名
- Path.mkdir(mode=0o777, parents=False, exist_ok=False): 创建一个目录。如果 parents=True,则会递归创建所有缺失的父目录。如果 exist_ok=True,则在目录已经存在时不会引发异常。
- Path.rmdir(): 删除一个目录。只能删除空目录,否则会引发 OSError 异常。
- Path.rename(target): 将路径重命名为 target,可以是新路径对象,也可以是字符串。如果 target 已经存在,则会引发 FileExistsError 异常。
- Path.unlink(): 删除一个文件。
- Path.resolve(): 解析路径,即将路径转换为绝对路径。如果路径不存在,则引发 FileNotFoundError 异常。
- Path.exists(): 如果路径存在则返回 True,否则返回 False。
- Path.is_file(): 如果路径指向一个文件则返回 True,否则返回 False。
- Path.is_dir(): 如果路径指向一个目录则返回 True,否则返回 False。
- Path.glob(pattern): 返回匹配指定模式的所有文件和目录的生成器。模式可以包含通配符,例如 *.txt 匹配所有扩展名为 .txt 的文件。
下面是一些使用 pathlib 模块的示例:
from pathlib import Path
# 创建文件
file_path = Path('file.txt')
file_path.touch()
# 创建目录
dir_path = Path('my_dir')
dir_path.mkdir()
# 重命名文件
file_path.rename('new_file.txt')
# 删除文件
file_path.unlink()
# 判断文件是否存在
if file_path.exists():
print('文件存在')
else:
print('文件不存在')
# 获取文件绝对路径
print(file_path.resolve())
# 获取所有文件和目录
for path in dir_path.glob('*'):
print(path)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:https://pythonjishu.com/python-pathlib-file/
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式