如何在Python中从文件路径中获取文件名
在这篇文章中,我们将学习一个Python程序来从文件路径中获取文件名。
使用的方法
以下是完成这一任务的各种方法
- 使用操作系统模块的功能
-
使用Pathlib模块
-
使用正则表达式(regex模块)
方法1:使用操作系统模块函数
使用split()函数从文件路径中获取文件名
split() 函数将一个字符串分割成一个列表。我们可以定义分隔符;默认的分隔符是任何空白。
算法(步骤)
以下是执行所需任务时需要遵循的算法/步骤。-
- 使用import关键字来导入os模块。
-
创建一个变量来存储输入文件的路径。
-
使用 split()函数 将文件路径分割成一个基于’/’分隔符的单词列表。
-
使用 负数索引 从列表中获取最后一个元素(从末端开始索引,即-1,-2….)。
-
打印结果的文件名。
例子
下面的程序使用split()函数从给定的文件路径中返回文件名。
输出
在执行时,上述程序将产生以下输出:
使用os.path.basename从文件路径中获取文件名
使用内置的Python函数 os.path.basename(), 人们可以确定指定路径中的基名。 路径名path的基名由函数 path.basename() 返回 , 它需要一个path参数。
例子
下面的程序使用os.path.basename()函数从给定的文件路径中返回文件名。
输出
在执行时,上述程序将产生下列输出 –
使用os.splitext()从文件路径中获取文件名
如果我们只需要没有扩展名的文件名或者只需要扩展名,这个方法将产生一个文件和它的扩展名。这里,os模块的splitext函数开始发挥作用。
os.splitext() 方法将返回一个包括文件名和内容的字符串的元组,我们可以使用索引来访问。
例子
下面的程序使用os.splitext()函数从给定的文件路径中返回文件名。
输出
方法2:使用Pathlib模块
在Python Pathlib模块中,有几个描述文件系统路径的类,其语义适合于许多操作系统。这个模块是Python的基本实用模块之一。
如果我们想要一个带有扩展名的文件,我们可以利用名称属性,即使 干是 实用属性之一,可以从没有扩展名的链接中提取文件名。
例子
下面的程序使用 Path() 函数和Pathlib模块的stem属性从给定的文件路径中返回文件名。
输出
方法3:使用正则表达式(regex模块)
为了将文件名与特定模式相匹配,我们可以使用正则表达式。
- [\w] – 匹配集合内的单词
-
+?- 匹配字符串,如果在?关键字之前只出现一次的话
-
(?=) – 匹配任何没有换行的字符,并记住要停在。
regex re.search()方法
Python regex re.search()方法在整个目标字符串中搜索regex模式的出现,并返回找到匹配的适当的Match对象实例。re.search()只返回目标字符串中第一个与模式匹配的对象。
例子
下面的程序使用正则表达式(regex)从给定的文件路径中返回文件名—-。
输出
总结
在这篇文章中,我们学习了如何使用三种不同的方法来从给定的文件路径中获取文件名。我们学习了如何使用操作系统模块的内置功能修改所提供的文件路径以满足我们的需要。