Найти - Пользователи
Полная версия: FTP - (ftplib) удалить директорию с папками и файлами
Начало » Python для новичков » FTP - (ftplib) удалить директорию с папками и файлами
1
OzMod
ftplib - как удалить директорию с папками и файлами,
а не просто файл или пустую папку
py.user.next
Надо рекурсивно удалять. Заходишь в директорию и удаляешь из неё все файлы и директории. Чтобы удалить директории, заходишь в каждую из них и удаляешь из неё все файлы и директории. Чтобы удалить директории, заходишь в каждую из них и удаляешь из неё все файлы и директории. И так далее.

Так оно будет спускаться, пока не дойдёт до директории, в которой есть только файлы. Когда файлы будут удалены, директория опустеет и при подъёме обратно её уже можно будет удалить как пустую.
OzMod
py.user.next
А примерчик небольшой можно ?
Скажем мне нужно удалить эту директорию (Папка 1), а в ней лежит следующее…
 Папка 1 - (надо её удалить)
    |---- файл 1 - (а в ней файл 1)
    |---- папка 2 - (там же папка 2)
            |---- файл 2 - (а в папке 2 , файл-2)
Как удалить папку 1 , я конечно могу скажем зайти в каждую папку по удалить оттуда файлы, а потом следом и папки…
py.user.next
OzMod
А примерчик небольшой можно ?
Псевдокод для рекурсивного удаления директории
удалить_файл(путь) {
удалить(путь)
}

удалить_пустую_директорию(путь) {
удалить(путь)
}

удалить_дерево(путь) {
тип_элемента := определить_тип_элемента(путь)
если тип_элемента = файл то
удалить_файл(путь)
иначе
цикл для каждого элемент в список_директории(путь) выполнять
новый_путь := путь + элемент
удалить_дерево(новый_путь)
конец цикла
удалить_пустую_директорию(путь)
конец если
}

главная_программа() {
удалить_дерево("/pub/dir1")
}

главная_программа()


tags: recursion directory
OzMod
py.user.next
Доброго времени суток…
Блин пытался по вашему примеру написать функцию удаления не пустой директории,не удаляет …:-\
——————————————————-
Можно конкретный пример, скажем…
ftp = ftplib.FTP(192.168.0.77) # скажем по локальному IP
ftp.login(user , passwd)
ftp.cwd(“OzFILES”) #путь - В этой директории, есть папка скажем (TEMP, в ней папка garbage в которой файл remove.txt)
—————————————————–
TEMP - (надо её удалить)
|—- garbage - (там папка garbage)
|—- remove.txt - (а в ней, файл - remove.txt)

py.user.next
OzMod
Блин пытался по вашему примеру написать функцию удаления не пустой директории,не удаляет …:-\
Я ошибок не вижу у себя в псевдокоде. Так что скидывай свой код на питоне. Где-то там ошибка.
OzMod
PEHDOM
Спасибо за полезную ссылочку ! +
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB