获取当前目录中的所有.txt文件

2025-04-07T17:44:37+08:00 | 3分钟阅读 | 更新于 2025-04-07T17:44:37+08:00

Macro Zhao

Python文件处理与glob模块:全面指南

推荐超级课程:

@TOC

引言

在Python中,无论是处理小型项目还是大型应用程序,高效地处理文件和目录都是至关重要的。Python中的glob模块是一个强大的工具,可以简化在目录中查找与特定路径匹配的文件的过程。在本教程中,我们将探讨如何使用glob模块有效管理文件和目录。通过本指南的学习,您将掌握使用glob进行各种Python文件处理任务的知识。

什么是glob模块?

glob模块是Python标准库的一部分,用于根据Unix shell使用的规则查找与指定路径匹配的所有路径名。它在搜索具有特定扩展名、名称或路径的文件时特别有用,无论是在目录中还是跨目录。

为什么使用glob模块?

  • 路径匹配:glob允许您基于特定路径搜索文件,例如文件扩展名或文件名格式。
  • **跨平台:**它兼容不同的操作系统,是文件处理的可靠选择。
  • **易于使用:**凭借简单的语法和强大的功能,glob使得文件搜索和管理变得简单直接。

开始使用glob

首先,我们从导入glob模块开始:

import glob

glob的基本使用

  1. 查找具有特定扩展名的文件

要查找当前目录中所有具有特定扩展名(例如.txt)的文件:

import glob  
  
# 获取当前目录中的所有.txt文件  
text_files = glob.glob("*.txt")  
print(text_files)

这将返回当前目录下所有 .txt 文件的列表。

2. 在子目录中搜索


您可以使用 ** 通配符在子目录中搜索文件:

import glob  
  
  
# 获取当前目录及其子目录中的所有 .txt 文件  
text_files = glob.glob("**/*.txt", recursive=True)  
print(text_files)

在这里,recursive=True 允许 glob 搜索所有子目录。

3. 匹配多个路径模式


如果您需要匹配多个路径模式,例如 .txt.py 文件,可以这样做:

import glob  
  
  
# 同时匹配 .txt 和 .py 文件  
files = glob.glob("*.{txt,py}")  
print(files)

这将返回当前目录下所有 .txt.py 文件的列表。

高级 glob 使用

=====================

1. 处理绝对路径


您可以使用 glob 查找具有绝对路径的文件:

import glob  
  
  
# 获取具有绝对路径的所有 .txt 文件  
files = glob.glob("/path/to/directory/*.txt")  
print(files)

"/path/to/directory/" 此路径替换为您想要搜索的路径。

2. 按文件大小或日期过滤


虽然 glob 不能直接按大小或日期过滤文件,但您可以将其与其他 Python 模块(如 osdatetime)结合使用以进行高级过滤:

import os  
import datetime  
import glob  
  
  
# 获取在过去 7 天内修改的所有 .txt 文件  
files = [f for f in glob.glob("*.txt") if datetime.datetime.now() - datetime.datetime.fromtimestamp(os.path.getmtime(f)) < datetime.timedelta(days=7)]  
print(files)

常见用例

================

  • 批量处理文件: 使用 glob 批量处理与路径模式匹配的文件,例如调整图像大小、重命名文件或转换文件格式。
  • 目录清理: 自动查找并删除符合特定条件的文件,如旧的日志文件。
  • 数据加载: 快速定位和加载多个数据集或配置文件以进行处理。

结论

==========

glob 模块是 Python 开发者管理文件和目录的重要工具。无论您是在处理小型脚本还是大型应用程序,glob 都提供了强大的路径匹配功能,可以节省您的时间和精力。通过本指南,您现在对如何使用 glob 处理 Python 中的各种文件操作有了深入的了解。从今天开始,在您的项目中使用 glob,轻松简化文件处理任务。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee