在 Python 中从路径中获取目录
文件路径是表示文件在系统或目录中的位置的唯一字符串。有时,你可能必须从文件路径中检索或提取任何部分或块。
有几种方法可以从 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 中导入 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 中对多个变量使用 for 循环
发布时间:2023/12/20 浏览次数:197 分类:Python
-
本教程讨论如何在 Python 中对多个变量使用 for 循环。for 循环用于迭代任何序列,从列表到元组再到字典。
如何在 Python 中查找列表中的最大值
发布时间:2023/12/18 浏览次数:192 分类:Python
-
它演示了如何在 Python 中寻找列表中的最大值。本教程将涵盖一些场景和数据类型,从简单的整数列表到更复杂的结构,如数组中的数组。
用 Python 将两个列表转换为字典
发布时间:2023/12/18 浏览次数:91 分类:Python
-
它演示了如何在 Python 中把列表转换成字典。本教程将介绍如何在 Python 中把两个列表转换为字典,其中一个列表包含字典的键,另一个包含值。