python之glob的用法

目录

获取特定扩展名的所有文件

获取特定目录下的所有文件

递归获取所有文件

转义特殊字符

iglob


glob 是 Python 中用于文件模式匹配的一个模块。它使用 Unix shell-style 的通配符来进行匹配,并返回所有匹配的文件路径列表。

下面是一些 glob 的基本用法:

获取特定扩展名的所有文件

如果你想获取当前目录下所有的 .txt 文件,可以使用:

import globtxt_files = glob.glob('*.txt')print(txt_files)

获取特定目录下的所有文件

如果你想获取 data 目录下所有的文件,可以使用:

import globall_files = glob.glob('./*')print(all_files)

递归获取所有文件

使用 ** 可以递归地匹配所有子目录中的文件。例如,获取 data 目录及其所有子目录下的 .txt 文件:

import globtxt_files_recursive = glob.glob('data/**/*.txt', recursive=True)

注意:recursive=True 参数确保模式会递归地匹配子目录。这在 glob 的某些版本中可能是必需的。

转义特殊字符

如果你需要匹配的文件名包含特殊字符(如 [、]、*、? 等),你可以使用 glob.escape 来转义这些字符:

import globescaped_pattern = glob.escape('my[special]file*')  matched_files = glob.glob(escaped_pattern)

iglob

除了 glob 函数外,glob 模块还提供了一个 iglob 函数,它是一个迭代器版本的 glob。当你处理大量文件时,使用 iglob 可以节省内存,因为它不会一次性加载所有匹配的文件路径,而是每次迭代时加载一个。

import globfor file in glob.iglob('*.txt'):    print(file)

相关推荐

  1. pythonglob

    2023-12-27 07:48:04       42 阅读
  2. viteimport.meta.glob

    2023-12-27 07:48:04       17 阅读
  3. python如何glob模块匹配路径

    2023-12-27 07:48:04       29 阅读
  4. Pythonpython中isinstance

    2023-12-27 07:48:04       15 阅读
  5. PythonPython中@wraps

    2023-12-27 07:48:04       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-27 07:48:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-27 07:48:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-27 07:48:04       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-27 07:48:04       20 阅读

热门阅读

  1. DshanMCU-R128s2硬件设计参考

    2023-12-27 07:48:04       39 阅读
  2. SpringBoot3 整合Redis

    2023-12-27 07:48:04       33 阅读
  3. vue3中安装并使用CSS预处理器Sass的方法介绍

    2023-12-27 07:48:04       40 阅读
  4. Redis Stream消息队列之基本语法与使用方式

    2023-12-27 07:48:04       26 阅读
  5. [oracle数据库]dblink的使用

    2023-12-27 07:48:04       42 阅读
  6. 如何将自建的ElasticSearch注册成一个服务

    2023-12-27 07:48:04       38 阅读
  7. codeforces 1676F

    2023-12-27 07:48:04       42 阅读
  8. latexshop 使用bug:xxx has a comma at the end

    2023-12-27 07:48:04       36 阅读
  9. c++ qt QtWidgetsApplication 项目 使用外部ui

    2023-12-27 07:48:04       40 阅读
  10. GO基础进阶篇 (八)、runtime包

    2023-12-27 07:48:04       45 阅读
  11. k8s解决 搭建集群的时候notReady问题

    2023-12-27 07:48:04       40 阅读
  12. 【Go语言入门:Go程序的流程控制语句】

    2023-12-27 07:48:04       35 阅读
  13. client-go使用方法

    2023-12-27 07:48:04       41 阅读