栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python模块之pathlib的使用介绍,用于解决路径相关问题,功能与os.path类似,但是使用更为方便

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python模块之pathlib的使用介绍,用于解决路径相关问题,功能与os.path类似,但是使用更为方便

在拜读别人的代码时,发现了pathlib这个模块的使用,其能够将路径字符串转化为路径对象,在路径对象中,也包含了很多有用的方法供我们调用,其与os.path的功能几乎无差,但是由于直接将路径变为对象,直接使用对象本身的方法就能够完成很多变换的功能,同时其也是默认安装在python3较新的版本中的,因此可以说是十分便捷了。

本文将简要介绍pathlib的基本使用方式,以及其中与os.path中方法的对应。

文章目录
  • Purepath类
  • Path类
  • 叮!


Purepath类

pathlib中主要有两个类,PurePath和Path,这两个类分别负责对文本形式的路径的处理(即PurePath类处理的路径只是文本形式的,都是将路径字符串进行各种变换或组合的方法,并没有判断真实路径的方法)和对真实存在的路径进行处理(可以判断文件是否真实存在,以及对真实路径进行处理等)。

先介绍一下PurePath类,此类相对较为简单,其在windows系统和linux系统中分别拥有不同的子类即PureWindowsPath和PurePosixPath,这是因为windows和linux系统的路径表示形式不同。

from pathlib import Purepath

p1 = Purepath('C://Windows', 'some/path', 'bar')
# 生成了实例 :PureWindowsPath('C:/Windows/some/path/bar')
# 这里生成实例的方法就不多举例了,实际上就是此方法能将一些字符组合为当前系统下正确的一些路径
# 但并不保证此路径一定存在

# Purepath也具有一些方法,如root获取字符串中的根路径,获取文件名(base),match用于与通配符匹配,
# parents获取文件所处目录,driver获取盘符(如C:),parts将路径通过斜杠进行划分,
# isabsolute判断是不是绝对路径,但要注意这些方法都只是对类实例结果进行
# 处理判断,并不会与真实文件或目录进行匹配。
# 这些方法这里也不单独介绍了。
Path类

Path类实际上是Purepath的子类,但其具有的功能更为强大,这里将常用的方法与os的方法对比并列为列表(参考官方文档),但要注意两种方法的结果可能并不完全一样,在调用时需要先尝试看看结果:

os和os.pathpathlib方法功能介绍
os.path.abspath()Path.resolve()返回任意路径的绝对路径
os.chmod()Path.chmod()修改文件权限
os.makedirs(),os.mkdir()Path.mkdir()直接创建文件夹,若已存在那么会报错
os.rename()Path.rename()重命名文件或文件夹
os.replace()Path.replace()重命名文件或文件夹
os.rmdir()Path.rmdir()移除目录
os.remove(),os.unlink()Path.unlink()移除文件或符号链接
os.getcwd()Path.cwd()获取当前的工作目录
os.path.exists()Path.exists()判断路径是否真实存在
os.path.expanduser()Path.expanduser() 和 Path.home()将例如~符号这样的符号转换为当前user,就变为了/home/user/work这样的目录结构
os.listdir()Path.iterdir()获取当前目录下的文件及目录,但是这里是iter对象
os.path.isdir()Path.is_dir()判断是否为目录
os.path.isfile()Path.is_file()判断是否为文件
os.path.islink()Path.is_symlink()判断是否有符号链接
os.link()Path.hardlink_to(target)设置一个硬连接到target
os.symlink()Path.symlink_to(target)设置一个符号连接到target
os.readlink()Path.readlink()返回之前设置的符号链接所指向的路径
os.path.relpath()Path.relative_to(target)判断路径与target间是否是相对的
os.stat()Path.stat(),Path.owner(), Path.group()获取此路径的一些信息
叮!

参考:https://docs.python.org/zh-cn/3/library/pathlib.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/355021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号