您的位置:

Python os.path.basename函数,获取路径中的文件名

一、什么是os.path.basename函数

os.path.basename函数是Python标准库中的一个路径处理函数,用来获取指定路径字符串中的文件名部分。该函数会以最后一个斜杠(/)作为分隔符,将路径字符串分成目录部分和文件名部分,然后返回文件名部分。如果路径字符串最后一个字符是斜杠,则函数会返回空字符串。

import os

path = '/usr/local/bin/python'
filename = os.path.basename(path)

print(filename)
# 输出:python

二、os.path.basename函数的参数

os.path.basename函数接收一个路径字符串作为参数,返回该路径字符串中的文件名部分。如果该参数不是有效的路径字符串,则会抛出异常。

如果需要获取文件名的同时也需要获取文件的后缀名部分,可以使用os.path.splitext函数对文件名部分再进行拆分。

import os

path = '/usr/local/bin/python'
filename = os.path.basename(path)
name, ext = os.path.splitext(filename)

print(name)
# 输出:python

print(ext)
# 输出:空字符串

三、os.path.basename函数的应用场景

os.path.basename函数广泛应用于文件路径处理、文件名解析等场景,可以轻松地从给定的路径字符串中提取所需的文件名信息。

例如,在实现一个文本编辑器的时候,需要从菜单栏中读取用户选择的文件路径,然后将该路径传递给文件打开函数进行文件读取。此时,可以使用os.path.basename函数从路径字符串中提取文件名,然后在打开文件时只需要使用文件名参数即可。

import os

path = '/mnt/data/documents/test.txt'
filename = os.path.basename(path)

with open(filename, 'r') as f:
    content = f.read()
    print(content)

四、os.path.basename函数的注意事项

os.path.basename函数在处理路径字符串时,只是简单地以最后一个斜杠为分隔符,将字符串拆分为目录部分和文件名部分。因此,在处理非标准路径字符串时需要特别注意。例如,在Windows系统中,路径字符串使用反斜杠(\)作为分隔符,而不是标准的斜杠字符。

此外,如果路径字符串以斜杠结尾,则os.path.basename函数会返回空字符串。因此,在需要处理以斜杠结尾的路径字符串时,应该特别注意。