Python 取文件名

Python 取文件名

Python 取文件名

在我们编写程序时,经常需要从文件路径中提取文件名,而Python提供了一些函数和方法来方便地实现这个功能。本文将详细介绍如何使用Python取得文件名。

一、os.path模块

在Python中,os.path模块为我们提供了一系列处理路径的函数。其中,os.path.basename()函数可以用于获取文件名。

import os

path = '/home/user/Documents/example.txt'
filename = os.path.basename(path)
print(filename)

代码运行结果:

example.txt

可以看到,通过调用os.path.basename()函数,我们成功地获取了文件名。

二、split()方法

除了使用os.path.basename()函数外,我们还可以使用字符串的split()方法来实现取得文件名的功能。

path = '/home/user/Documents/example.txt'
filename = path.split('/')[-1]
print(filename)

代码运行结果:

example.txt

通过调用split()方法,我们以路径分隔符/为分隔符,将路径字符串分割成多个子字符串,然后通过索引-1取得最后一个子字符串,即文件名。

三、os模块

除了使用os.path模块和字符串方法,我们还可以使用os模块中的os.path.splitext()函数来取得文件名。

import os

path = '/home/user/Documents/example.txt'
filename, extension = os.path.splitext(path)
print(filename)

代码运行结果:

/home/user/Documents/example

可以看到,通过调用os.path.splitext()函数,我们取得了不带扩展名的文件名。

四、PurePath类

Python 3.4及以上的版本中,标准库pathlib提供了一个PurePath类,也可以用来获取文件名。

from pathlib import PurePath

path = PurePath('/home/user/Documents/example.txt')
filename = path.name
print(filename)

代码运行结果:

example.txt

可以看到,通过调用name属性,我们成功地获取了文件名。

五、文件路径包含中文

在处理文件路径时,有时可能会遇到文件路径中包含中文的情况。由于中文在不同的操作系统中的编码方式可能不同,因此在使用上述方法时可能会遇到编码问题。这时,我们可以通过以下方式解决中文路径的问题。

首先,将字节字符串转换为Unicode字符串:

path = b'/home/user/Documents/中文.txt'.decode('utf-8')

然后,继续使用上述方法获取文件名。

六、总结

本文介绍了使用Python取得文件名的几种方法,包括:

  1. 使用os.path.basename()函数
  2. 使用字符串的split()方法
  3. 使用os.path.splitext()函数
  4. 使用PurePath

以上方法都能够有效地获取文件名,我们可以根据实际需求选择适合的方法。在处理文件路径时,若遇到中文路径,可以通过转换编码解决问题。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程