当需要在Python中模糊匹配文件名时,可以使用glob
或fnmatch
模块。下面是使用这两个模块进行模糊匹配的完整攻略:
1. 使用glob模块进行模糊匹配
glob
模块提供了一个函数glob()
,它可以根据指定的模式匹配符返回一个文件名列表。
import glob
# 获取指定目录下所有以".txt"为扩展名的文件
files = glob.glob('/path/to/dir/*.txt')
print(files)
在这个示例中,glob()
函数的参数是一个字符串,其中的*
通配符表示任意字符,/path/to/dir/
是目录的路径,*.txt
表示文件名以.txt
为扩展名。glob()
函数返回一个包含所有匹配的文件名的列表,打印出这个列表就可以查看匹配的结果。
2. 使用fnmatch模块进行模糊匹配
另一种进行模糊匹配的方法是使用fnmatch
模块,它提供了一个函数fnmatch()
,用于测试字符串是否与给定的模式匹配。
import fnmatch
import os
# 获取指定目录下所有以".txt"为扩展名的文件
files = [os.path.join(root, filename)
for root, dirnames, filenames in os.walk('/path/to/dir/')
for filename in filenames
if fnmatch.fnmatch(filename, '*.txt')]
print(files)
在这个示例中,我们使用了os.walk()
函数遍历指定的目录下所有的文件,然后利用fnmatch()
函数来匹配文件名是否符合指定的模式。os.path.join()
函数用于将文件名与路径组合起来,形成文件的完整路径。最后,我们获取到的是一个包含所有匹配的文件名的列表,可以用print()
来查看它的内容。
以上就是使用glob
和fnmatch
模块进行文件名模糊匹配的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python模糊匹配文件名 - Python技术站