深入理解Python中的os.path.dirname和os.path.basename


在Python编程中,文件路径处理是一个常见的任务。
无论是在开发App、Web还是数据处理,我们经常需要从文件路径中提取特定的信息,比如目录或文件名。
Python的os模块提供了一些非常有用的函数来帮助我们处理这些任务。


os.path.basename提取文件名

os.path.basename函数用于从完整的文件路径中提取文件名

这个函数无论输入的是绝对路径还是相对路径,都会返回路径的最后一部分,即文件名

import os

# 使用绝对路径
path = "/home/user/documents/report.txt"
filename = os.path.basename(path)
print(filename)  # 输出: report.txt

# 使用相对路径
path = "documents/report.txt"
filename = os.path.basename(path)
print(filename)  # 输出: report.txt

os.path.dirname提取目录路径

os.path.dirname函数用于从完整的文件路径中提取目录路径

这个函数返回的是除了文件名之外的路径部分

import os

# 使用绝对路径
path = "/home/user/documents/report.txt"
directory = os.path.dirname(path)
print(directory)  # 输出: /home/user/documents

# 使用相对路径
path = "documents/report.txt"
directory = os.path.dirname(path)
print(directory)  # 输出: documents

对比

特性 os.path.basename(path) os.path.dirname(path)
用途 提取文件名 提取目录路径
返回内容 文件名 目录路径
处理方式 如果路径以斜杠/结尾,返回空字符串 如果路径以斜杠/结尾,返回路径本身
文件上传 用于保存文件时重命名或记录文件名 用于确定文件存储的位置
文件保存 确保文件名的唯一性或符合命名规范。 确定文件应该保存的目录
文件管理 用于显示用户选择的文件名 显示文件所在的目录路径
路径解析 提取文件名部分 提取文件所在的目录路径部分

请添加图片描述