在 Python 中从路径中获取目录
- 各种操作系统中文件路径的差异
-
在 Python 中使用
os.path.basename
从文件路径中查找文件名 -
在 Python 中使用
os.path.splittext
从文件路径中查找文件名 -
使用
os.path.dirname
从 Python 中的文件路径中查找目录名称 -
在 Python 中使用
pathlib
模块提取目录名称 -
在 Python 中使用
os.path.abspath
从文件路径中查找目录名称
文件路径是表示文件在系统或目录中的位置的唯一字符串。有时,你可能必须从文件路径中检索或提取任何部分或块。
有几种方法可以从 Python 中的文件路径中提取部分。
各种操作系统中文件路径的差异
我们在 Linux 目录结构(包括 MAC)中使用正斜杠 /
,而在 Windows 中,我们使用反斜杠 \
作为分隔符。
要检查你的系统使用哪个分隔符,请使用 os.sep
或 os.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.splittext
从文件路径中查找文件名
如果你只想从文件路径中提取文件名而不是其扩展名,你将使用 os.path.splittext()
函数。此函数将仅返回文件名。
此外,你将使用此函数添加索引 0
以获得所需的输出。splittext()
函数将文件路径拆分为一个数组。因此,索引 0
代表文件名,而索引 1
代表它的扩展名。
import os
fpath = "c:\Project\input.txt"
fname = os.path.splitext(fpath)[0]
输出:
使用 os.path.dirname
从 Python 中的文件路径中查找目录名称
函数 os.path.dirname()
用于从路径中提取目录名称。此函数将在 Python 控制台上将目录名称作为字符串返回。
import os
fpath = "c:\Project\input.txt"
dirname = os.path.dirname(filepath)
print(dirname)
输出:
该函数返回父目录的完整路径。
在 Python 中使用 pathlib
模块提取目录名称
从文件路径获取目录的另一种方法是使用 pathlib
模块。这在 Python 3.4+ 版本中特别可用。
该函数接受一个参数,即文件路径,并且可以根据获取的项目返回各种输出。让我们首先导入文件及其路径。
from pathlib import Path
p = Path("C:\\Program Files\\Internet Explorer\\iexplore.exe")
要检查父目录,请执行以下代码:
str(p.parent)
输出:
要将目录和文件名作为部分获取,请使用 path 模块的 part 函数。例如:
P.parts
你会得到类似这样的结果。
在 Python 中使用 os.path.abspath
从文件路径中查找目录名称
OS 模块还提供从文件路径中提取目录的功能。
这个函数有两个不同的参数:反斜杠和点字符。反斜杠字符返回根目录,点返回当前目录。
import os
directory = os.path.abspath("\\")
print(directory)
输出:
下面是获取绝对路径的代码:
directory = os.path.abspath(".")
print(directory)
输出:
'C:\Users\User\Desktop'
本教程着眼于在 Python 中拆分文件路径的几个函数和模块。我们还学习了如何在 Python 中使用 OS
和 Path
模块从文件路径中提取名称或目录。
相关文章 - Python Directory
- 在 Python 中列出目录和子目录中的所有文件
- 在 Python 中对文件夹中的每个文件执行命令
- 用 Python 打开目录中的所有文件
- 在 Python 中列出子目录
- 在 Python 中获取父目录