一、搜索/home/Download目录下的zip压缩文件
import os
from fnmatch import fnmatch
# 搜索与pattern匹配的文件和目录
def find_file(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
if fnmatch(name, pattern):
result.append(os.path.join(root, name))
return result
# 搜索/home/Download目录下的zip压缩文件
result = find_file('*.zip', '/home/Download/')
for file in result:
print(file)
二、Python中os模块walk函数参数详解
os.walk(top, topdown=True, οnerrοr=None, followlinks=False)
参数含义如下:
(1) top:指定要遍历的目录。
(2) topdown:指定遍历顺序。如果为True,则先遍历顶层目录,然后再遍历子目录。如果为False,则先遍历子目录,然后再遍历顶层目录。
(3) onerror:指定一个函数,用于处理遇到的错误。如果未指定,则忽略错误。
(4) followlinks:指定是否遍历符号链接。如果为True,则遍历符号链接指向的目录。
返回元组(dirpath, dirnames, filenames)含义:
os.walk函数返回一个生成器(generator),每次迭代生成一个包含三个元素的元组:(dirpath, dirnames, filenames),每一个元素的含义如下:
(1) dirpath:字符串,表示当前目录的路径。
(2) dirnames:列表,包含当前目录中的子目录名称。
(3) filenames:列表,包含当前目录中的文件名称。
三、Python中fnmatch模块的fnmatch函数匹配规则
fnmatch这个库专门用来进行文件名匹配,支持使用通配符进行字符串匹配。