2

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

4

1 回答 1

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)
于 2013-08-07T16:32:39.957 回答