在 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
模块从文件路径中提取名称或目录。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串