我有一个看起来像这样的文件列表:
list1= [abc.txt,def.txt, pqr.txt]
我想将此文件保留在目录中,并删除所有其他文件。
我找到文件的代码是:
list1= [/home/usr/Documents/abc.txt,/home/usr/Documents/def.txt, /home/usr/Documents/pqr.txt]
def search(trace,file_path)
i=0
for files in os.listdir(file_path):
#print(i,' : Reading file: ' , files)
if files == trace:
i=i+1
LOG.info(" %d Reading file : %s" % (i,files))
for traces in list1:
trace = traces.rsplit('/',1)[1]
print(trace)
search(trace,file_path)
此文件的子集已读取,但我想删除所有其他文件,以便它将快速解析目录,因为当前它会查找4000个文件的名称以匹配37个名称。因此,它需要的迭代次数是37 * 4000,或者我想用更少的迭代次数来完成。
答案 0 :(得分:0)
您好,您可以使用glob模块查找与模式匹配的文件名 查看下面的示例
import glob
print glob.glob("/home/usr/*/abc.txt")
您可以在此处查看文档: https://docs.python.org/2/library/glob.html