如何在python中查找文件并将它们保存到不同的文件夹中

时间:2013-08-07 16:24:50

标签: python pyhook

我试图从本地存储库中找到所有相关文件和文件夹。 例如我将项目从git拉到我的本地机器,我想搜索特定文件(.txt)并将它们保存到相同模式的新文件夹(root-> dir->文件)。 基本上我想摆脱任何与名称和扩展名不匹配但保持相同格式的文件。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以遍历目录树,找到您想要的文件:

import os, fnmatch

def find_files(directory, pattern):
    for root, dirs, files in os.walk(directory):
        for basename in files:
            if fnmatch.fnmatch(basename, pattern):
                filename = os.path.join(root, basename)

                yield filename

def find_files_to_list(directory, pattern):
    file_list = []
    for root, dirs, files in os.walk(directory):
        for basename in files:
            if fnmatch.fnmatch(basename, pattern):
                filename = os.path.join(root, basename)
                file_list.append(filename)

    return file_list

然后复制存储库并执行以下操作:

wanted_files = find_files_to_list('/original_project/', '*.html')
for filename in find_files('/copy_project/', '*'):
    if filename not in wanted_files:
        os.remove(filename)