Как удалить файлы на ftp из одной папки которых нет в другой?

Пусть:

ftp.cwd(‘../‘)
ftp.cwd(‘Folder1’)
files1 = ftp.nlst()

ftp.cwd(‘../‘)
ftp.cwd(‘Folder2)
files2 = ftp.nlst()

Нужно удалить элементы из списка files1 которых нет в списке files2


Ответы (1 шт):

Автор решения: Kers

Не могу проверить именно работу в ftp но логику можно реализовать примерно так:

# Пусть `f1` и тд это имена файлов
files1 = ["f1", "f2", "f3", "f4"]
files2 = ["f1", "f2", "f5", "f6"]
del_list=[] # Список файлов на удаление
for i in files1:
    if i not in files2:
        del_list.append(i)

# Удаляем файлы.
for i in del_list:
    ftp.delete(i)

Единственное что стоит учитывать какие пути будут в списках относительные или абсолютные. Чтобы не получилось что Вы путаетесь удалить файлы которых никогда и не было или не в той директории.
P.S. Или предоставьте пример того что у Вас получается в списках файлов.

→ Ссылка