让文件路径提取变得更简单的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库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python基于词频排序实现快速挖掘关键词

    Python基于词频排序实现快速挖掘关键词

    这篇文章主要为大家详细介绍了Python如何基于词频排序实现快速挖掘关键词功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-03-03
  • python读写数据读写csv文件(pandas用法)

    python读写数据读写csv文件(pandas用法)

    这篇文章主要介绍了python读写数据读写csv文件(pandas用法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

    Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

    下面小编就为大家带来一篇Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Python编程根据字典列表相同键的值进行合并

    Python编程根据字典列表相同键的值进行合并

    这篇文章主要介绍了来学习Python字典列表根据相同键的值进行合并的操作方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • python函数修饰符@的使用方法解析

    python函数修饰符@的使用方法解析

    这篇文章主要介绍了python函数修饰符@的使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python实现随机取一个矩阵数组的某几行

    Python实现随机取一个矩阵数组的某几行

    今天小编就为大家分享一篇Python实现随机取一个矩阵数组的某几行,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 使用Python将字符串转换为格式化的日期时间字符串

    使用Python将字符串转换为格式化的日期时间字符串

    这篇文章主要介绍了使用Python将字符串转换为格式化的日期时间字符串,需要的朋友可以参考下
    2019-09-09
  • python 基于dlib库的人脸检测的实现

    python 基于dlib库的人脸检测的实现

    这篇文章主要介绍了python 基于dlib库的人脸检测的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • python实现将读入的多维list转为一维list的方法

    python实现将读入的多维list转为一维list的方法

    今天小编就为大家分享一篇python实现将读入的多维list转为一维list的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python异步爬虫之多线程

    python异步爬虫之多线程

    这篇文章主要介绍了python异步爬虫之多线程,多线程可以为相关阻塞的操作单独开启线程或者进程,阻塞操作可以异步执行,但是无法无限制开启多线程或多进程,下面我们一起学习详细内容,需要的朋友可以参考一下
    2022-02-02

最新评论