在 Python 中从路径中获取目录

Sidrah Abdullah 2023年1月30日
  1. 各种操作系统中文件路径的差异
  2. 在 Python 中使用 os.path.basename 从文件路径中查找文件名
  3. 在 Python 中使用 os.path.splittext 从文件路径中查找文件名
  4. 使用 os.path.dirname 从 Python 中的文件路径中查找目录名称
  5. 在 Python 中使用 pathlib 模块提取目录名称
  6. 在 Python 中使用 os.path.abspath 从文件路径中查找目录名称
在 Python 中从路径中获取目录

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

有几种方法可以从 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 模块从文件路径中提取名称或目录。

相关文章 - Python Directory

相关文章 - Python Path