让文件路径提取变得更简单的Python Path库


Posted in Python onMay 27, 2021

一、Path 是什么?

该模块提供表示文件系统路径的类,其语义适用于不同的操作系统。路径类被分为提供纯计算操作而没有 I/O 的 纯路径,以及从纯路径继承而来但提供 I/O 操作的 具体路径。

让文件路径提取变得更简单的Python Path库

在一些用例中纯路径很有用,例如:

  • 如果你想要在 Unix 设备上操作 Windows 路径(或者相反)。你不应在 Unix 上实例化一个 WindowsPath,但是你可以实例化 PureWindowsPath。
  • 你只想操作路径但不想实际访问操作系统。在这种情况下,实例化一个纯路径是有用的,因为它们没有任何访问操作系统的操作。

二、使用步骤

1.提取文件名

方法名 : .name

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_file_name = path_str.name
print(path_file_name)

输出

demo.py

2.提取父文件路径

方法名 : .parent

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_parent_path = path_str.parent
print(path_parent_path)

输出

\user\HinGwenWoong

3.提取文件后缀

方法名 : .suffix

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_suffix = path_str.suffix
print(path_suffix)

输出

.py

4.提取无后缀的文件名

方法名 : .stem

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_only_name = path_str.stem
print(path_only_name )

输出

demo

5.更改文件后缀

方法名 : .with_suffix

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_suffix = path_str.with_suffix(".json")
print(path_suffix)

输出

\user\HinGwenWoong\demo.json

6.遍历文件

方法名 : .iterdir()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/logs")
for path in path_str.iterdir():
    print(path)

输出

/user/HinGwenWoong/log/20210517.log
/user/HinGwenWoong/log/20210518.log
/user/HinGwenWoong/log/20210519.log
/user/HinGwenWoong/log/20210524.log
/user/HinGwenWoong/log/20210525.log

7.组合文件路径

方法名 : .joinpath

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
path_str_join = path_str.joinpath("demo.py")
print(path_str_join)

输出

\user\HinGwenWoong\demo.py

8.是否绝对路径

方法名 : is_absolute()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.is_absolute())

输出

True

9.是否文件夹 or 文件

方法名 : is_dir()is_file()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.is_dir())
print(path_str.is_file())

输出

True
False

10.是否存在

方法名 : .exists()

from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.exists())

输出

True

11.glob

方法名 : .glob

from pathlib import Path

path_str = Path(r"/user/HinGwenWoong/scripts")
print(path_str.glob('*.py'))

输出

[PosixPath('/user/HinGwenWoong/scripts/demo_1.py'),
PosixPath('/user/HinGwenWoong/scripts/demo_2.py')]

到此这篇关于让文件路径提取变得更简单的Python Path库的文章就介绍到这了,更多相关Python Path库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python原始字符串(raw strings)用法实例
Oct 13 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 Python
Python使用python-docx读写word文档
Aug 26 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
Python使用Paramiko控制liunx第三方库
May 20 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
python音频处理的示例详解
Dec 23 Python
Python Selenium异常处理的实例分析
Feb 28 Python
Pytorch中的数据集划分&正则化方法
Pytorch 如何实现常用正则化
PyTorch 实现L2正则化以及Dropout的操作
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
pytorch 实现在测试的时候启用dropout
使用Python脚本对GiteePages进行一键部署的使用说明
教你使用Python pypinyin库实现汉字转拼音
You might like
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
分享3个php获取日历的函数
2015/09/25 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
python的几种开发工具介绍
2007/03/07 Python
在python中的socket模块使用代理实例
2014/05/29 Python
python根据文件大小打log日志
2014/10/09 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
python实现按首字母分类查找功能
2019/10/31 Python
Django model.py表单设置默认值允许为空的操作
2020/05/19 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
Java基础知识面试题
2014/03/25 面试题
应届生服务员求职信
2013/10/31 职场文书
如何写辞职信
2015/05/13 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
升职自荐书
2019/05/09 职场文书
MySQL系列之六 用户与授权
2021/07/02 MySQL
nginx安装以及配置的详细过程记录
2021/09/15 Servers