如何在 Python 中从路径获取文件名
-
使用
ntpath库从路径中获取文件名 -
使用
ntpath.basename()从路径中获取文件名 -
Python 使用
os.path.basename()从路径中获取文件名 -
Python 使用
os.path.split()从路径获取文件名
本教程介绍了如何在 Python 中从路径中获取文件名。它还列出了一些示例代码,以进一步演示与特定操作系统相关的概念。
使用 ntpath 库从路径中获取文件名
定义路径的方式可以是不同的。在 Windows 中,文件的路径可以使用反斜线或正斜线作为路径分隔符。因此,ntpath 模块将适用于所有平台上的所有路径。
ntpath 库支持一个函数是 basename。这个函数传递一个 path,执行后,ntpath.basename(path) 从给定的 path 中返回文件名。使用该方法的基本例子如下所示。
import ntpath
print(ntpath.basename("usr/temp/new/sample"))
输出:
sample
使用 ntpath.basename() 从路径中获取文件名
这个库同样适用于 Linux。然而,在 Linux 中,文件名可能包含反斜杠。所以在 Linux 中,r'usr/xyz\python'总是指 usr 文件夹中的 xyz\python 文件。
import ntpath
print(ntpath.basename("r'usr/xyz\python'"))
输出:
xyz\python
它指的是 Windows 中 usr 文件夹下 xyz 子文件夹中的文件名 python。当一个路径中同时使用后斜杠和前斜杠时,我们应该知道我们使用的是哪个平台,否则,你可能无法正确解释路径。
还有一种方法可以从路径中获取文件名,即 os.path.basename()。
Python 使用 os.path.basename() 从路径中获取文件名
你也可以使用 os.path 库提供的一个函数从路径中获取文件名。这个函数是 basename,用来获取文件名。
basename 以 path 为参数,返回 filename。
以下是代码示例。
import os
print(os.path.basename("usr/temp/eng"))
输出:
eng
如果系统是 POSIX,并且传递给 os.path.basename() 的是一个包含双斜线的 windows 风格的路径,那么输出将是给出的完整路径。
# in Linux
import os
print(os.path.basename("E:\\aws\\temp.jpg"))
输出:
E:\\aws\\temp.jpg
Python 使用 os.path.split() 从路径获取文件名
如果需要单独的头和尾,可以使用 os.path.split() 方法。该方法以 path 为参数,返回路径的 head 和 tail。
下面是一个示例代码。
import os
head, tail = os.path.split("/Users/xyz/Downloads")
print(head)
print(tail)
输出:
/Users/xyz
Downloads
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn