Python 获取路径中的文件名
简介
在编程中,经常需要处理文件路径。路径不仅包含目录信息,还包含文件名信息。在Python中,我们可以使用不同的方法获取路径中的文件名。本文将详细介绍几种常用的方法,并给出相应的示例代码。
方法一:使用os模块
Python的os
模块提供了丰富的方法来处理文件和目录。其中,os.path
模块中的函数可以用于处理路径中的文件名。
使用os.path
模块的split()
函数
split()
函数可以将路径分割为目录部分和文件名部分,返回一个元组。示例代码如下:
import os
path = '/Users/username/Documents/example.txt'
dirname, filename = os.path.split(path)
print('目录名:', dirname)
print('文件名:', filename)
输出为:
目录名: /Users/username/Documents
文件名: example.txt
使用os.path
模块的basename()
函数
basename()
函数可以直接提取路径中的文件名部分,返回一个字符串。示例代码如下:
import os
path = '/Users/username/Documents/example.txt'
filename = os.path.basename(path)
print('文件名:', filename)
输出为:
文件名: example.txt
方法二:使用pathlib模块
从Python 3.4版本开始,标准库中引入了pathlib
模块,该模块提供了一种面向对象的处理路径的方式。
使用pathlib.Path
对象的name
属性
Path
对象的name
属性可以直接获取路径中的文件名部分,返回一个字符串。示例代码如下:
from pathlib import Path
path = Path('/Users/username/Documents/example.txt')
filename = path.name
print('文件名:', filename)
输出为:
文件名: example.txt
方法三:使用re模块
re
模块是Python中用于正则表达式操作的模块,我们可以使用正则表达式来提取路径中的文件名部分。
使用正则表达式提取文件名
下面的示例代码展示了如何使用正则表达式提取路径中的文件名部分:
import re
path = '/Users/username/Documents/example.txt'
filename = re.search(r'[^\\/]+$', path).group()
print('文件名:', filename)
输出为:
文件名: example.txt
方法四:使用字符串操作
我们还可以使用字符串的操作函数来获取路径中的文件名部分。
使用str.rsplit()
函数
rsplit()
函数可以将字符串从右边开始分割为多个部分,并返回一个列表。我们可以通过指定分隔符为路径分隔符,然后取列表的最后一个元素来获取文件名。示例代码如下:
path = '/Users/username/Documents/example.txt'
filename = path.rsplit('/', 1)[-1]
print('文件名:', filename)
输出为:
文件名: example.txt
方法五:使用第三方库
除了Python标准库提供的方法,还可以使用一些第三方库来获取路径中的文件名。其中,最常用的是path
类库。下面是使用path
库的示例代码:
from path import Path
path = Path('/Users/username/Documents/example.txt')
filename = path.name
print('文件名:', filename)
输出为:
文件名: example.txt
需要注意的是,使用第三方库需要提前安装好相应的库。
总结
本文介绍了几种常用的方法来获取Python中路径中的文件名。通过使用os.path
模块、pathlib
模块、正则表达式、字符串操作、第三方库等多种方式,我们可以根据实际需要选择合适的方法来获取文件名部分。