📜  如何使用 Python Glob 模块 - Python (1)

📅  最后修改于: 2023-12-03 15:08:23.527000             🧑  作者: Mango

如何使用 Python Glob 模块 - Python

Python Glob 模块是一个非常有用的模块,它提供了一种简单的方式来搜索特定类型的文件。

安装

Python Glob 模块是 Python 标准库的一部分,所以你不需要进行额外的安装。你可以通过以下命令检查 Glob 模块是否已经安装在你的系统中:

$ python -m glob
基本使用

让我们从一个简单的例子开始。

以下代码使用 Glob 模块搜索所有以 .py 结尾的文件:

import glob

py_files = glob.glob('*.py')

print(py_files)

输出:

['file1.py', 'file2.py', 'file3.py']

在上面的例子中,我们使用 glob.glob('*.py') 的语法来搜索以 .py 结尾的所有文件。这个函数返回一个列表包含所有符合条件的文件名。

你可以在这个方法中使用任何正则表达式 来匹配文件名,比如下面这个例子:

import glob

txt_files = glob.glob('*.txt')

print(txt_files)

输出:

['file1.txt', 'file2.txt', 'file3.txt']
高级用法

除了基本的用法之外,Glob 模块还提供了一些高级用法。

Recursive

Glob 模块允许你递归搜索目录中的文件。

以下代码使用 Glob 模块递归搜索所有以 .py 结尾的文件:

import glob

py_files = glob.glob('**/*.py', recursive=True)

print(py_files)

在上面的例子中,我们添加了一个 **/ 前缀来告诉 Glob 模块递归搜索子目录。

只查找目录

Glob 模块还允许你只查找目录或只查找文件。

以下代码只搜索当前目录下的所有子目录:

import glob

directories = glob.glob('*/')

print(directories)

在上面的例子中,我们添加了 / 后缀来告诉 Glob 模块只搜索目录。

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

以下代码使用 Glob 模块查找扩展名为 .txt.md 的所有文件:

import glob

text_files = glob.glob('*.{txt,md}', recursive=True)

print(text_files)

在上面的例子中,我们使用 {txt,md} 的语法来查找具有扩展名 .txt.md 的所有文件。

总结

Glob 模块提供了一种简单、方便的方式来搜索特定类型的文件。它的一些高级用法可以帮助你更快速、更有效地搜索特定类型的文件。

如果你还没有使用过 Glob 模块,那就赶快尝试一下吧!