欢迎访问宙启技术站
智能推送

Python中glob模块的通配符用法和案例解析

发布时间:2023-12-25 11:57:15

glob模块是Python中用于文件和目录的通配符匹配的模块。它提供了一种在文件系统中搜索匹配指定模式的文件和目录的简便方法。以下是glob模块的通配符用法和一些案例分析。

1. *(星号):表示匹配任意多个字符,包括0个字符。例如,'*.txt'会匹配所有以.txt结尾的文件。

示例:

import glob

file_list = glob.glob('*.txt')
print(file_list)

输出:

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

2. ?(问号):表示匹配一个任意字符。例如,'file?.txt'会匹配文件名为'file1.txt'、'file2.txt'等。

示例:

import glob

file_list = glob.glob('file?.txt')
print(file_list)

输出:

['file1.txt', 'file2.txt']

3. [ ](方括号):用于匹配指定范围内的字符。例如,'[abc].txt'会匹配文件名为'a.txt'、'b.txt'或'c.txt'。

示例:

import glob

file_list = glob.glob('[abc].txt')
print(file_list)

输出:

['a.txt', 'b.txt', 'c.txt']

4. [! ](方括号加上取反符号):用于匹配除指定范围内的字符外的任意一个字符。例如,'[^abc].txt'会匹配文件名不为'a.txt'、'b.txt'或'c.txt'的文件。

示例:

import glob

file_list = glob.glob('[!abc].txt')
print(file_list)

输出:

['d.txt', 'e.txt', 'f.txt']

5. **(两个星号):表示匹配所有文件和目录,包括子目录中的文件和目录。例如,'**/*.txt'会匹配所有以.txt结尾的文件,无论它们在哪个目录中。

示例:

import glob

file_list = glob.glob('**/*.txt', recursive=True)
print(file_list)

输出:

['file1.txt', 'file2.txt', 'subdir/file3.txt']

这些是glob模块的一些通配符用法和案例解析。使用glob模块可以方便地搜索文件和目录,并对它们进行操作。它的用法灵活简单,在处理文件系统中的文件和目录时非常有用。