Подмножество файлов в списке, которые хранятся в каталоге - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть список файлов, который выглядит следующим образом:

 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, или я хочу сделать это за меньшее количество итераций.

1 Ответ

0 голосов
/ 30 ноября 2018

Привет, вы можете использовать модуль glob, чтобы найти имена файлов, соответствующие шаблону. Проверьте приведенный ниже пример

import glob
print glob.glob("/home/usr/*/abc.txt")

Вы можете проверить документацию здесь: https://docs.python.org/2/library/glob.html

...