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