Python 路径操作工具 pathlib

MTK 人工智能生态系统 <一> 简介 Neuropilot 阅读详情

参考文档:https://docs.python.org/dev/library/pathlib.html#methods

在 Python 当中,如果你想控制路径,基本上绕不开 os.path。我希望看完这篇文章以后,熟练使用 Python 的你能立刻开始使用 pathlib 模块,一刻也不要耽误。

pathlib 相对于 os.path 有以下优势:

  • pathlib 导入更加清晰;
  • 采用面向对象编程,能同时存储更多状态,os.path 返回的通常只有一个字符串;
  • pathlib 使用更简单。

获取路径相关信息

pathlib 会把路径相关信息都存在一个 Path 的核心类里面,比如用户名,后缀名,上层目录,文件创建时间,文件大小等等。 这些 os.path 是没有办法一次性都给我们的,因为 os.path 调用的函数几乎都是返回字符串格式,不能像 Path 对象这样保存状态。

1, 获取当前文件路径。这种操作方式可能会包含相对路径信息。

from pathlib import Path

# 列出子目录

# 获取当前路径
p = Path('.')

# 列出子目录
p.iterdir()
# 获取py文件
p.glob('**/*.py')
# 递归获取py文件
p.rglob('**/*.py')
# 在目录树种导航
p / 'init.d' / 'data' / 'source'
# 查询路径属性
p.exists()
p.is_dir()
p.is_file()
p.mkdir()
p.rename()
p.replace()
p.rmdir()
p.touch()
p.unlink()
p.write_text()


# 打开文件
with p.open() as f: 
	f.readline()

# 获取当前文件和文件夹的元信息。
# posix.stat_result(
#	st_mode=16893, 
#	st_ino=60833797, 
#	st_dev=64784, 
#	st_nlink=2, 
#	st_uid=501, 
#	st_gid=501, 
#	st_size=4096, 
#	st_atime=1571387891, 
#	st_mtime=1571387890, 
#	st_ctime=1571387890)
st = p.stat()

# 转换为绝对目录
# 设置 `strict=True`,如果目录不存在则抛出 FileNotFoundError
p = p.resolve( strict=True)

# 获取父目录
parent = p.parent.parent
# 获取所有父目录
parents = p.parents
first_p = parents[0]
second_p = parents[1]

# TODO: 可以封装的技能,目前未实现
parents[-3]

7,

# 获取文件名称
name = p.name

# 获取文件后缀名。
suffix = p.suffix
suffixes = p.suffixes

# 获取不含后缀名的文件名
file_without_suffix = p.stem

# 表示(本地或全局)根的字符串(如果有)
p.root

#将路径表示为fileURI
p.as_uri()

# 返回路径是否为绝对路径。
p.is_absolute()

# 返回此路径是否相对于其他路径。
p.is_relative_to()

# 将此路径与提供的glob样式模式匹配.
p.match('*.py')

路径操作

# 改变文件名为 webben.py,生成新路径,实际文件不发生变化
# 原来的文件名封装在 p 对象中
with_name = p.with_name('webben.py')

# 改变后缀名,生成新路径,实际文件不发生变化
with_suffix = p.with_suffix('.jpg')

# 路径拼接。 pathlib 提供了和 os.path.join() 类似的路径拼接方式:
new_path = p.joinpath('join_path')
new_path = p / 'data/webben' / 'windows'
Ferry工单平台部署 ferry工单平台部署 阅读详情

相关推荐

macOS 发票查验全攻略:从证书导入到Safari调试

本文详细介绍了在macOS上进行发票查验的全流程,包括证书下载、钥匙串访问导入、Safari浏览器调试等关键步骤。重点解决了验证码不显示等常见问题,提供了证书信任设置和开发者工具使用的实用技巧,帮助用户顺利完成税务发票在线查验。

weixin_29204749的博客 545

pathlib.Path模块下的glob、rglob,glob模块下的glob、iglob

glob.glob(*)、glob.glob(**)、glob.iglob(*)、glob.iglob(**) Path.glob(*)、Path.glob(**)、Path.rglob(*)、Path.rglob(**)

jieru_liu的博客 2万+

VMware Workstation Pro必备技巧:5分钟搞定Ubuntu虚拟机磁盘瘦身(附常见错误解决)

本文详细介绍了如何为VMware Workstation Pro中的Ubuntu虚拟机进行磁盘瘦身,解决.vmdk文件只增不减的问题。通过清理系统垃圾、使用零填充空闲空间,并利用vmware-toolbox-cmd或vmware-vdiskmanager工具进行压缩,可有效回收被无效占用的磁盘空间。文章还提供了常见错误解决方案和预防性维护建议,帮助用户高效管理虚拟机存储。

sea99的博客 296

Python文件路径处理之pathlib模块

pathlib模块为Python中的路径操作提供了一个更加现代和面向对象的API。通过使用Path对象的方法和属性,可以轻松地执行各种路径操作,使得代码更加清晰和易于理解。无论是读取文件、遍历目录还是执行文件操作,pathlib都是一个非常强大且方便的工具。

专注于Python编程技术的分享与交流,致力于帮助开发者提升编程技能,解决实际问题,探索Python的无限可能。 5357

Agent驱动电商运营:从选品到售后的全链路革新

在当今竞争激烈的电商市场中,传统的电商运营模式面临着诸多挑战。从选品到售后,每个环节都需要大量的人力投入和专业知识。选品需要深入了解市场趋势和消费者需求,营销需要精准定位目标用户,客服需要24小时响应用户咨询。这些工作不仅耗时耗力,而且容易受到人为因素的影响,导致效率低下和成本高企。AI Agent是一种能够感知环境、做出决策并采取行动的智能系统。感知能力:能够获取和处理环境信息。决策能力:能够根据感知到的信息做出决策。行动能力:能够执行决策,对环境产生影响。学习能力。

AI 领航者的博客 354

全志平台camera驱动开发(3)MIPI接口camera驱动开发

详细沟通: 请加video_D 目前开发过的allwinner平台: V5/V3/V3S/V40/T3/T7/A64等 开发过的mipi sensor: sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等 ov:ov2718、ov12895、ov2710等 ar: ar0238等 国产:gc1024、gc1034...

jzwjzw19900922的博客 9028

Python中的pathlib库

Python中的pathlib库,包含from pathlib import Path和import os以及os.path

Le0v1n 的博客 3978

labelImg使用教程

Anaconda环境 安装 Anaconda 之后,在开始菜单下找到 Anaconda 文件夹 找到 Anaconda Prompt 点击运行 安装 labelImg pip install labelImg #直接命令行输入 启动 labelImg labelImg #直接命令行输入名称即可 labelImg界面 开始标注 快捷键:W(创建方框),A(上一张),D(下一张) XML文件示例 <annotation> <folder>夜读</folder>

G果的博客 3万+

Python路径操作库pathlib,比os+glob+shutil更好用

比os、glob和shutil好用,操作简便快捷易理解

XerCis的博客 7990

学Simulink——四开关 Buck‑Boost(FSBB)变换器的无缝模式切换仿真

本文详细介绍了使用Simulink实现四开关Buck-Boost(FSBB)变换器无缝模式切换的仿真方法。FSBB变换器因其输入输出同极性、单电感和双向能量流特性,广泛应用于光伏储能、USB-PD和车载电源等场景。文章重点解决了模式切换中的直通风险和占空比跳变问题,通过统一电压PI控制、Stateflow模式仲裁和200ns死区设计,实现了Buck(26V→24V)、Pass-Through(24V±1V)和Boost(22V)三种工作模式的无缝过渡。仿真结果显示输出电压稳定在12V±0.15V,切换过程无

amy_mhd的博客 65

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

路径处理库pathlib使用详解

在编程中处理文件的读写操作时免不了要和文件路径打交道,甚至有时候为了完成某些场景功能会变的有些繁琐,以前在Python中操作文件路径,我们更多的时候是使用os模块。 而到了Python3时代后,Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单。甚至可以说pathlib已经可以完全替代os.path,它完全采用面向对象的编程方式,因为Python 文档给它的定义是 Ob...

Anders's Blog 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python 路径操作工具 pathlib,比 os 模块好用太多

在 python 当中,如果你想控制路径,基本上绕不开 os.path。我希望看完这篇文章以后,熟练使用 python 的你能立刻开始使用 pathlib 模块,一刻也不要耽误。 pathlib 相对于 os.path 有以下优势: pathlib 导入更加清晰; 采用面向对象编程,能同时存储更多状态,os.path 返回的通常只有一个字符串; pathlib 使用更简单...

weixin_30917213的博客 900

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

pythonpath manager_python 路径操作工具 pathlib,比 os 模块好用太多

在 python 当中,如果你想控制路径,基本上绕不开 os.path。我希望看完这篇文章以后,熟练使用 python 的你能立刻开始使用 pathlib 模块,一刻也不要耽误。pathlib 相对于 os.path 有以下优势:pathlib 导入更加清晰;采用面向对象编程,能同时存储更多状态,os.path 返回的通常只有一个字符串;pathlib 使用更简单获取路径相关信息pathlib 会...

weixin_39547596的博客 777

python pathlib与os模块

pathlib的简单介绍 官方定义:Object-oriented filesystem paths(面向对象的文件系统路径) 官方推荐:pathlib是一个从3版本开始就能完全替代os.path的内置库,在python官网中这样说 "对于字符串的低级路径操作,您也可以使用该 os.path模块" pathlib和os.path的比较 当需要找多个层级的目录路径时,通过os.path需要嵌套写法,如我上面的project_path,而pathlib可以提供链式写法,简洁明了 os.pa...

hllyzms的博客 1968

Python pathlib模块介绍

Python 的 pathlib 模块是标准库中的一种现代化、面向对象的路径处理工具。与传统的 os.path 模块相比,pathlib 提供了更简洁、直观的 API 来处理文件路径、目录操作和文件 I/O。

qq_27390023的博客 637

pathlib简介与使用

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34126557的博客 218

Python 的 os.path() 和 pathlib.Path()

在 Python 中一旦涉及到路径相关的操作,os.path() 模块无疑是用得最多的了,就让我们一块来看看吧! 方法 说明 os.path.abspath(path) 返回绝对路径 os.path.basename(path) 返回文件名 os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径 os.path.dirname(path) 返回文件路径 os.path.exists(path)

Looking的网页备忘录和个人知识库 6998

【Python】pathlib模块:面向对象的方式操作文件系统路径

pathlib是Python 3.4引入的模块,提供了面向对象的方式来操作文件系统路径。相比os和glob,pathlib更现代、可读性更高、更易用,并且支持Windows和Unix兼容的路径处理。获取当前目录:Path.cwd();组合路径:Path()/"file.txt";判断文件是否存在:Path().exists();读取文件:Path().read_text();遍历目录:Path().iterdir();rglob()递归查找文件,比glob更强大。write_text()和read_text

彬彬侠的博客 627

一个超好用的 Python 标准库,彻底玩透路径操作(2)

pathlib将路径作为对象创建,提供了处理文件路径的方便快捷的方法。Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。

2401_84139908的博客 403

Python标准库之pathlib

Python标准库之pathlib: pathlib绝不仅仅是替换了os.path那么简单,它可以说是路径处理的瑞士军刀。它完全采用面向对象的编程方式,尤其是在处理配置路径方面简直太方便了。 主要内容参考一篇清晰的博客: https://www.cnblogs.com/juneman/p/8974505.html ...

280

Python pathlib模块路径操作新特性

本文全面介绍了Python标准库中的pathlib模块,重点分析了其在文件路径操作方面的优势和新特性。该模块提供了灵活路径解析、丰富文件操作方法、跨平台兼容性以及高效读写速度等核心功能。通过实际案例展示了如何使用pathlib模块处理文件夹内容,充分体现了其便捷性和高效性,为Python开发者提供了强大的文件操作工具,有助于提升编程效率和代码质量。

qq_35974860的博客 84

pathlib,一个非常好用的 Python 库!

pathlib库提供了一个高效且易于使用的接口来处理文件系统路径。它的面向对象特性使得路径操作更加直观和灵活。无论是进行简单的文件操作还是复杂的路径处理,pathlib都是Python中管理文件系统的优选方案。通过使用pathlib,Python开发者可以以更加现代和高效的方式来处理文件和目录,减少常规的字符串操作错误,提高代码的可读性和可维护性。如果想要系统学习Python、Python问题咨询,或者考虑做一些工作以外的副业,都可以扫描二维码添加微信,围观朋友圈一起交流学习。

涛哥聊Python 1304

Python中pathlib 模块的用法

本文给大家介绍了 Python 的 pathlib 模块,为 Python 工程师对该模块的使用提供了支撑,让大家了解如何使用 pathlib 模块读写文件、操纵文件路径和基础文件系统,统计目录下的文件类型以及查找匹配目录下某一类型文件等。

Gefangenes的博客 904

【python学习】标准库之文件目录访问-os.path方法和pathlib库的背景、功能、用法、代码示例和总结

os.path模块是Python标准库的一部分,它提供了一系列用于处理路径名的函数。这些函数主要用于操作系统特定的路径操作,如文件和目录的创建、删除、移动等 pathlib是一个新的Python库,用于处理文件系统路径。它是从Python 3.4版本开始引入的,旨在提供一种更加面向对象的方式来处理路径在选择使用哪个库时,可以根据具体需求和代码风格来决定如果需要进行底层操作系统的路径处理,os.path模块是更好的选择;如果更倾向于使用面向对象的方法,那么pathlib库是更好的选择。

ya的博客 858

Python中,open()与pathlib.path()的区别和各自的优势

总的来说,open()函数主要用于文件的读写操作,而 pathlib.Path()主要用于文件路径的操作和文件系统操作。优势:pathlib.Path()提供了面向对象的路径操作方式,支持更加直观和简洁的文件路径操作,避免了传统的字符串拼接操作,提高了的可读性和可维护性。pathlib.Path()可以创建路径对象,通过路径对象可以进行文件和目录的操作,如检查文件是否存在、创建新文件、获取文件属性等。pathlib.Path()提供了一系列方法和属性,方便对文件路径进行操作,如获取名、文件后缀、父目录等。

weixin_54155806的博客 882

Python标准库-pathlib

pathlib模块是Python 3.4引入的标准库模块,它提供了一种面向对象的方式来处理文件系统路径。相比传统的os.path模块,pathlib提供了更现代、更直观的API,使路径操作更加简单和优雅。它是处理文件路径的推荐方式,特别适合现代Python项目。pathlib模块是Python中处理文件路径的现代解决方案。通过合理使用pathlib简化路径操作提高代码可读性增强跨平台兼容性优化文件操作提升开发效率优先使用pathlib而不是os.path注意路径对象的不可变性。

Aerkui的博客 1544
上一篇: Python 操作数据库之 records
下一篇: Python 日期时间模块 Arrow库
Webben
博客等级 码龄10年 19粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值