迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中从路径中获取目录

作者:迹忆客 最近更新:2023/12/17 浏览次数:

文件路径是表示文件在系统或目录中的位置的唯一字符串。有时,你可能必须从文件路径中检索或提取任何部分或块。

有几种方法可以从 Python 中的文件路径中提取部分。


各种操作系统中文件路径的差异

我们在 Linux 目录结构(包括 MAC)中使用正斜杠 /,而在 Windows 中,我们使用反斜杠 \ 作为分隔符。

要检查你的系统使用哪个分隔符,请使用 os.sepos.path.sep。它将返回系统使用的路径分隔符。


在 Python 中使用 os.path.basename 从文件路径中查找文件名

在 Python 中提取部分文件路径的第一种也是最简单的方法是使用 os.path.basename() 函数。

此函数从文件路径返回文件名及其扩展名。此外,它适用于所有 Python 版本。

import os

fpath = "c:\Project\input.txt"
os.path.basename(fpath)

输出:

在 Python 中使用 os.path.basename 从文件路径中查找文件名


在 Python 中使用 os.path.splittext 从文件路径中查找文件名

如果你只想从文件路径中提取文件名而不是其扩展名,你将使用 os.path.splittext() 函数。此函数将仅返回文件名。

此外,你将使用此函数添加索引 0 以获得所需的输出。splittext() 函数将文件路径拆分为一个数组。因此,索引 0 代表文件名,而索引 1 代表它的扩展名。

import os

fpath = "c:\Project\input.txt"
fname = os.path.splitext(fpath)[0]

输出:

在 Python 中使用 os.path.splittext 从文件路径中查找文件名


使用 os.path.dirname 从 Python 中的文件路径中查找目录名称

函数 os.path.dirname() 用于从路径中提取目录名称。此函数将在 Python 控制台上将目录名称作为字符串返回。

import os

fpath = "c:\Project\input.txt"
dirname = os.path.dirname(filepath)
print(dirname)

输出:

使用 os.path.dirname 从 Python 中的文件路径中查找目录名称

该函数返回父目录的完整路径。


在 Python 中使用 pathlib 模块提取目录名称

从文件路径获取目录的另一种方法是使用 pathlib 模块。这在 Python 3.4+ 版本中特别可用。

该函数接受一个参数,即文件路径,并且可以根据获取的项目返回各种输出。让我们首先导入文件及其路径。

from pathlib import Path

p = Path("C:\\Program Files\\Internet Explorer\\iexplore.exe")

要检查父目录,请执行以下代码:

str(p.parent)

输出:

在 Python 中使用 pathlib 模块提取目录名称

要将目录和文件名作为部分获取,请使用 path 模块的 part 函数。例如:

P.parts

你会得到类似这样的结果。

在 Python 中使用 pathlib 模块提取目录名称


在 Python 中使用 os.path.abspath 从文件路径中查找目录名称

OS 模块还提供从文件路径中提取目录的功能。

这个函数有两个不同的参数:反斜杠和点字符。反斜杠字符返回根目录,点返回当前目录。

import os

directory = os.path.abspath("\\")
print(directory)

输出:

在 Python 中使用 os.path.abspath 从文件路径中查找目录名称

下面是获取绝对路径的代码:

directory = os.path.abspath(".")
print(directory)

输出:

'C:\Users\User\Desktop'

本教程着眼于在 Python 中拆分文件路径的几个函数和模块。我们还学习了如何在 Python 中使用 OSPath 模块从文件路径中提取名称或目录。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Python 中导入 OpenSSL

发布时间:2023/12/20 浏览次数:147 分类:Python

本教程演示了如何在 Python 中使用 OpenSSL。我们旨在学习如何在 Python 中使用 OpenSSL。安装 OpenSSL Python 库

在 Python 中将循环步长递增 2

发布时间:2023/12/20 浏览次数:97 分类:Python

在 Python 中,循环可以使步长为 2 的值递增。为此目的,使用了诸如 for loop,range()和 slicing 之类的不同方法。

Python 中的一行中的 for 循环

发布时间:2023/12/20 浏览次数:115 分类:Python

本教程演示了如何在 Python 中实现一行中的 for 循环。在 Python 中,一行 for 循环有多种形式;一个简单的 for 循环可以遍历可迭代对象或序列。另一个可以是简单的列表推导,也可以是带有 if

Python 中的 do...while 循环

发布时间:2023/12/20 浏览次数:108 分类:Python

本教程演示了如何在 Python 中模拟 do-while 循环。默认情况下,Python 中不存在 do-while 循环,但是我们可以使用 while 循环生成一些代码,以使某些事情可以充当 do-while 循环。

Python 中的并行 for 循环

发布时间:2023/12/20 浏览次数:173 分类:Python

本教程演示如何在 Python 中执行并行处理。在 Python 中使用 multiprocessing 模块并行化 for 循环

在 Python 中是否存在 goto 语句

发布时间:2023/12/20 浏览次数:148 分类:Python

本文为你提供了 Python 中是否存在 goto 语句的答案。本文为你提供了 Python 中是否存在 goto 语句的答案。基本上,Python 不支持 goto 语句。

如何在 Python 中查找列表中的最大值

发布时间:2023/12/18 浏览次数:192 分类:Python

它演示了如何在 Python 中寻找列表中的最大值。本教程将涵盖一些场景和数据类型,从简单的整数列表到更复杂的结构,如数组中的数组。

用 Python 将两个列表转换为字典

发布时间:2023/12/18 浏览次数:91 分类:Python

它演示了如何在 Python 中把列表转换成字典。本教程将介绍如何在 Python 中把两个列表转换为字典,其中一个列表包含字典的键,另一个包含值。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便