Python 从路径中获取文件名
在编程中,经常需要从文件的路径中提取出文件名,以方便对文件进行操作或者展示。Python 提供了多种方法来获取文件名,本文将介绍几种常用的方法,并给出示例代码。
方法一:使用 os 模块
Python 的 os 模块提供了一系列操作文件和目录的方法,包括获取文件名的方法。其中,os.path.basename()
方法可以用来获取一个路径的基本名称,即文件名部分。
import os
path = "/Users/username/Documents/example.txt"
filename = os.path.basename(path)
print("文件名:", filename)
运行结果:
文件名: example.txt
方法二:使用 pathlib 模块
Python 3.4 引入了 pathlib 模块,为处理路径提供了更加直观和面向对象的接口。通过 Path
对象的 name
属性可以获取文件名。
from pathlib import Path
path = Path("/Users/username/Documents/example.txt")
filename = path.name
print("文件名:", filename)
运行结果:
文件名: example.txt
方法三:使用字符串操作
如果不想引入额外的模块,也可以使用字符串操作来获取文件名。通过查找路径中的最后一个斜杠(或反斜杠),可以找到文件名的起始位置。
path = "/Users/username/Documents/example.txt"
filename = path.split("/")[-1]
print("文件名:", filename)
运行结果:
文件名: example.txt
方法四:正则表达式
如果路径比较复杂,可能需要使用正则表达式来提取文件名。下面的示例代码使用正则表达式匹配最后一个斜杠之后的内容。
import re
path = "/Users/username/Documents/example.txt"
filename = re.search(r'[^/\\]*$', path).group()
print("文件名:", filename)
运行结果:
文件名: example.txt
方法五:使用 split 方法
还可以使用 os.path.split()
方法来将路径拆分为目录名和文件名的元组,然后取元组的第二个元素即可得到文件名。
import os
path = "/Users/username/Documents/example.txt"
dirname, filename = os.path.split(path)
print("文件名:", filename)
运行结果:
文件名: example.txt
通过上述几种方法,可以方便地从文件路径中获取文件名,以便在程序中进行操作或展示。根据实际情况选择合适的方法,既可以提高效率,又可以使代码更加清晰易读。