如何使用Python提取文件名

在处理文件系统时,我们经常需要从完整的文件路径中提取出文件名、文件的父目录路径以及文件的扩展名。Python通过其标准库中的ospathlib模块为这些常见任务提供了强大的支持。本博客将详细介绍如何使用这两个模块来高效地执行这些操作。

使用os.path模块

os.path是Python中处理文件路径的传统模块,它提供了一系列函数来处理路径字符串,这些函数适用于所有操作系统。

提取文件名

要从路径中提取文件名,可以使用os.path.basename函数:

import os

file_path = '/path/to/your/file.txt'
file_name = os.path.basename(file_path)
print("文件名:", file_name)

这会输出完整的文件名file.txt

分离文件名和扩展名

如果你需要进一步分离文件名和文件的扩展名,可以使用os.path.splitext函数:

file_name, file_extension = os.path.splitext(file_name)
print("文件名:", file_name)
print("文件后缀:", file_extension)

这会将file.txt分解为file.txt

获取父目录路径

获取文件的父目录路径可以使用os.path.dirname函数:

parent_path = os.path.dirname(file_path)
print("父文件夹路径:", parent_path)
使用pathlib模块

从Python 3.4开始,pathlib模块提供了一个面向对象的文件系统路径操作方法。它将路径视为对象而不是简单的字符串。

提取文件名

使用pathlib,路径和文件名的处理变得更为直观:

from pathlib import Path

file_path = Path('/path/to/your/file.txt')
file_name = file_path.name
print("文件名:", file_name)

这样也会输出file.txt

分离文件名和扩展名

pathlib中,可以直接访问文件的扩展名和“干净”的文件名:

print("文件名:", file_path.stem)
print("文件后缀:", file_path.suffix)
获取父目录路径

获取父目录也非常直接:

parent_path = file_path.parent
print("父文件夹路径:", parent_path)
总结

无论是使用os.path还是pathlib,Python都提供了灵活而强大的工具来处理文件和目录的路径。os.path在老旧代码中更常见,而pathlib提供了一个更现代的API,使得路径操作更加直观和安全。选择哪一个取决于个人偏好以及项目需求。

相关推荐

  1. 如何使用Python提取文件名

    2024-05-13 17:10:05       13 阅读
  2. 使用 Python 从 PDF 文件提取、转换图像

    2024-05-13 17:10:05       19 阅读
  3. 如何使用Python提高图像分辨率?

    2024-05-13 17:10:05       36 阅读
  4. python如何提取html中所有中文

    2024-05-13 17:10:05       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-13 17:10:05       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-13 17:10:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-13 17:10:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-13 17:10:05       20 阅读

热门阅读

  1. [Easy] leetcode-136 只出现一次的数字

    2024-05-13 17:10:05       12 阅读
  2. python面向对象

    2024-05-13 17:10:05       13 阅读
  3. Vue的生命周期函数有哪些?

    2024-05-13 17:10:05       10 阅读
  4. Linux呈现数据

    2024-05-13 17:10:05       10 阅读
  5. Linux的内核态和用户态

    2024-05-13 17:10:05       9 阅读
  6. vue3+ts 获取input 输入框中的值

    2024-05-13 17:10:05       11 阅读
  7. vue的跳转传参

    2024-05-13 17:10:05       11 阅读
  8. scala案例-- 九九乘法表

    2024-05-13 17:10:05       10 阅读
  9. Makefile解析(ARM LINLON V5/V7 VPU firmware tools例)

    2024-05-13 17:10:05       10 阅读
  10. 【C++】CRC-8校验程序,小端格式

    2024-05-13 17:10:05       10 阅读