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