Python获取路径中的文件名

Python获取路径中的文件名

Python获取路径中的文件名

在Python编程中,经常需要对文件进行操作,其中一个常见的需求是获取给定路径中的文件名。Python提供了多种方法来实现这一功能,本文将详细介绍这些方法及其使用。

方法一:使用os模块的方法

os模块是Python内置的一个用于与操作系统进行交互的模块,其中包含了一些获取文件名的方法。

1. os.path.basename()方法

os.path.basename()方法可以用于获取给定路径中的文件名。

下面是使用这个方法的示例代码:

import os

path = '/home/user/documents/archive.txt'
filename = os.path.basename(path)

print(filename)
Python

运行结果:

archive.txt
Python

2. os.path.split()方法

os.path.split()方法可以将给定路径分割为目录名和文件名。

下面是使用这个方法的示例代码:

import os

path = '/home/user/documents/archive.txt'
dirname, filename = os.path.split(path)

print(dirname)
print(filename)
Python

运行结果:

/home/user/documents
archive.txt
Python

3. os.path.splitext()方法

os.path.splitext()方法可以将给定路径分割为文件名和扩展名。

下面是使用这个方法的示例代码:

import os

path = '/home/user/documents/archive.txt'
filename, ext = os.path.splitext(path)

print(filename)
print(ext)
Python

运行结果:

/home/user/documents/archive
.txt
Python

方法二:使用pathlib模块的方法

pathlib模块是Python 3.4及以上版本新增的模块,提供了更加直观和面向对象的方式来操作文件系统路径。

1. 使用Path对象的.name属性

pathlib.Path对象的.name属性可以获得路径中的文件名。

下面是使用这个属性的示例代码:

from pathlib import Path

path = Path('/home/user/documents/archive.txt')
filename = path.name

print(filename)
Python

运行结果:

archive.txt
Python

2. 使用Path对象的.parts属性

pathlib.Path对象的.parts属性返回路径中的各个部分,我们可以通过索引获取文件名。

下面是使用这个属性的示例代码:

from pathlib import Path

path = Path('/home/user/documents/archive.txt')
filename = path.parts[-1]

print(filename)
Python

运行结果:

archive.txt
Python

3. 使用Path对象的suffix属性

pathlib.Path对象的suffix属性可以获得路径中的文件扩展名。

下面是使用这个属性的示例代码:

from pathlib import Path

path = Path('/home/user/documents/archive.txt')
ext = path.suffix

print(ext)
Python

运行结果:

.txt
Python

方法三:使用正则表达式

如果希望更加灵活地匹配文件名,可以使用正则表达式来解析路径。

下面是使用re模块和正则表达式的示例代码:

import re

path = '/home/user/documents/archive.txt'
filename = re.search(r'[^/]+$', path).group()

print(filename)
Python

运行结果:

archive.txt
Python

方法四:使用字符串的方法

如果只需快速获取文件名或扩展名,也可以使用字符串的方法来处理路径。

下面是使用字符串的方法的示例代码:

path = '/home/user/documents/archive.txt'
filename = path.split('/')[-1]

print(filename)

ext = path.split('.')[-1]
print(ext)
Python

运行结果:

archive.txt
txt
Python

总结

本文介绍了四种常见的方式来获取路径中的文件名,包括使用os模块、pathlib模块、正则表达式和字符串的方法。根据实际需求,选择其中一种方法进行使用即可。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册