使用glob()函数在Python中进行文件名模式匹配
glob()函数是Python中的一个文件名模式匹配函数,可以根据指定的模式来匹配文件名或者目录名。它是glob模块中的一个函数。
使用glob()函数需要先导入glob模块:import glob
glob()函数的语法如下:glob.glob(pathname, recursive=False)
- pathname:要匹配的路径模式字符串。
- recursive:是否递归地匹配子目录,默认值为False。
glob()函数返回一个匹配的文件名列表,如果没有匹配的文件名,则返回一个空列表。
下面是一些使用glob()函数的例子:
1. 匹配当前目录下所有的.txt文件:
import glob
files = glob.glob('*.txt')
print(files)
输出:['file1.txt', 'file2.txt', 'file3.txt']
2. 匹配当前目录及其子目录下所有的.txt文件:
import glob
files = glob.glob('**/*.txt', recursive=True)
print(files)
输出:['file1.txt', 'subdir/file2.txt', 'subdir/subsubdir/file3.txt']
3. 匹配当前目录下以数字开头的文件:
import glob
files = glob.glob('[0-9]*')
print(files)
输出:['123.txt', '456.py', '789.cpp']
4. 匹配当前目录及其子目录下以数字开头的文件:
import glob
files = glob.glob('**/[0-9]*', recursive=True)
print(files)
输出:['123.txt', 'subdir/456.py', 'subdir/subsubdir/789.cpp']
5. 匹配当前目录下的所有文件:
import glob
files = glob.glob('*')
print(files)
输出:['file1.txt', 'file2.txt', 'file3.txt', 'subdir']
6. 匹配当前目录及其子目录下的所有文件:
import glob
files = glob.glob('**', recursive=True)
print(files)
输出:['file1.txt', 'file2.txt', 'file3.txt', 'subdir', 'subdir/file2.txt', 'subdir/subsubdir', 'subdir/subsubdir/file3.txt']
7. 使用多个模式进行匹配:
import glob
files = glob.glob('*.txt') + glob.glob('*.py')
print(files)
输出:['file1.txt', 'file2.txt', 'file3.txt', 'script1.py', 'script2.py']
这些例子展示了glob()函数的一些常见用法,可以根据具体的需求来选择合适的匹配模式进行文件名的模式匹配。
