Форум сайта python.su
ftplib - как удалить директорию с папками и файлами,
а не просто файл или пустую папку
Офлайн
Надо рекурсивно удалять. Заходишь в директорию и удаляешь из неё все файлы и директории. Чтобы удалить директории, заходишь в каждую из них и удаляешь из неё все файлы и директории. Чтобы удалить директории, заходишь в каждую из них и удаляешь из неё все файлы и директории. И так далее.
Так оно будет спускаться, пока не дойдёт до директории, в которой есть только файлы. Когда файлы будут удалены, директория опустеет и при подъёме обратно её уже можно будет удалить как пустую.
Офлайн
py.user.next
А примерчик небольшой можно ?
Скажем мне нужно удалить эту директорию (Папка 1), а в ней лежит следующее…
Папка 1 - (надо её удалить) |---- файл 1 - (а в ней файл 1) |---- папка 2 - (там же папка 2) |---- файл 2 - (а в папке 2 , файл-2)
Отредактировано OzMod (Март 27, 2019 08:48:31)
Офлайн
https://bountify.co/small-simple-python-ftp-file-delete-script-2
[code python][/code]
Офлайн
OzModПсевдокод для рекурсивного удаления директории
А примерчик небольшой можно ?
удалить_файл(путь) {
удалить(путь)
}
удалить_пустую_директорию(путь) {
удалить(путь)
}
удалить_дерево(путь) {
тип_элемента := определить_тип_элемента(путь)
если тип_элемента = файл то
удалить_файл(путь)
иначе
цикл для каждого элемент в список_директории(путь) выполнять
новый_путь := путь + элемент
удалить_дерево(новый_путь)
конец цикла
удалить_пустую_директорию(путь)
конец если
}
главная_программа() {
удалить_дерево("/pub/dir1")
}
главная_программа()
Отредактировано py.user.next (Март 27, 2019 10:10:23)
Офлайн
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)
Офлайн
OzModЯ ошибок не вижу у себя в псевдокоде. Так что скидывай свой код на питоне. Где-то там ошибка.
Блин пытался по вашему примеру написать функцию удаления не пустой директории,не удаляет …:-\
Офлайн
PEHDOM
Спасибо за полезную ссылочку ! +
Офлайн