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

 更新时间:2021年05月27日 10:48:40   作者:HinGwenWoong  
这里我们介绍 Python3 自带的库 Path,可以让我们使用更少的代码但是与之而来的是更高的效率,文中有非常详细的介绍及代码示例 ,需要的朋友可以参考下

一、Path 是什么?

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

在这里插入图片描述

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

  • 如果你想要在 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库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 仅用50行Python代码实现一个简单的代理服务器

    仅用50行Python代码实现一个简单的代理服务器

    这篇文章主要介绍了仅用50行Python代码实现一个简单的代理服务器,利用最简单的client->proxy->forward原理在socket模块下编写,需要的朋友可以参考下
    2015-04-04
  • python TF-IDF算法实现文本关键词提取

    python TF-IDF算法实现文本关键词提取

    这篇文章主要为大家详细介绍了python TF-IDF算法实现文本关键词提取,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • python中SQLAlchemy使用前端页面实现插入数据

    python中SQLAlchemy使用前端页面实现插入数据

    这篇文章主要介绍了SQLAlchemy使用前端页面实现插入数据,文章内容介绍详细巨头有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • python正则表达式之对号入座篇

    python正则表达式之对号入座篇

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑
    2018-07-07
  • python列表切片和嵌套列表取值操作详解

    python列表切片和嵌套列表取值操作详解

    今天小编就为大家分享一篇python列表切片和嵌套列表取值操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python简单爬虫导出CSV文件的实例讲解

    Python简单爬虫导出CSV文件的实例讲解

    今天小编就为大家分享一篇Python简单爬虫导出CSV文件的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Django mysqlclient安装和使用详解

    Django mysqlclient安装和使用详解

    这篇文章主要介绍了Django mysqlclient安装和使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python基于FTP模块实现ftp文件上传操作示例

    Python基于FTP模块实现ftp文件上传操作示例

    这篇文章主要介绍了Python基于FTP模块实现ftp文件上传操作,结合实例形式分析了Python引入ftp模块及相关设置、文件传输等操作技巧,需要的朋友可以参考下
    2018-04-04
  • python实现保留小数位数的3种方法

    python实现保留小数位数的3种方法

    本文主要介绍了python实现保留小数位数的3种方法,包括格式化字符串,format()函数和round()函数,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Python基于opencv实现的人脸识别(适合初学者)

    Python基于opencv实现的人脸识别(适合初学者)

    OpenCV是一个基于BSD许可开源发行的跨平台计算机视觉库,下面这篇文章主要给大家介绍了关于Python基于opencv实现的人脸识别,文中通过实例代码介绍的非常详细,本文的教程非常适合初学者,需要的朋友可以参考下
    2022-03-03

最新评论