Python获取文件名

Python获取文件名

在进行日常程序开发过程中,获取文件名是一个普遍的需求。本篇文章将演示如何用Python获取文件名,以及获取文件路径和拓展名。

方法一:使用os模块

Python标准库中的os模块提供了获取文件名和路径的方法。其中,os.path是用于处理文件路径的模块。

import os

path = '/home/user/documents/file.txt'

# os.path.basename()获取文件名
filename = os.path.basename(path) 
print(filename)  # 输出 "file.txt"

# os.path.dirname()获取文件路径
directory = os.path.dirname(path)
print(directory)  # 输出 "/home/user/documents"

# os.path.splitext()获取文件名和拓展名
filename_without_ext, file_extension = os.path.splitext(filename)
print(filename_without_ext)  # 输出 "file"
print(file_extension)  # 输出 ".txt"

方法二:使用Pathlib模块

Pathlib是Python3.4以上版本中自带的模块,用于处理文件路径。它提供了易于使用的面向对象的接口,可以轻松获取文件名,路径和拓展名。

from pathlib import Path

path = Path('/home/user/documents/file.txt')

# Path.name获取文件名
filename = path.name
print(filename)  # 输出 "file.txt"

# Path.parent获取文件路径
directory = path.parent
print(directory)  # 输出 "/home/user/documents"

# Path.suffix获取拓展名
file_extension = path.suffix
print(file_extension)  # 输出 ".txt"

# Path.stem获取文件名不带拓展名
filename_without_ext = path.stem
print(filename_without_ext)  # 输出 "file"

使用正则表达式获取文件名

如果文件名不在文件路径的末尾,可以使用正则表达式来提取文件名。

import re

path = '/home/user/documents/file.txt'

# 使用正则表达式获取文件名
filename = re.findall(r'/([^/]+)\.txt', path)[0]
print(filename)  # 输出 "file"

结论

以上是三种获取文件名的方法,使用os模块和Pathlib模块可以更加简洁方便地获取文件名、路径和拓展名,而使用正则表达式可以灵活处理较为复杂的文件路径。在编写Python程序时,可以根据实际情况选择最合适的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程