Уведомления

Группа в Telegram: @pythonsu

#1 Март 20, 2019 21:12:09

OzMod
Зарегистрирован: 2017-01-11
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

ftplib - как удалить директорию с папками и файлами,
а не просто файл или пустую папку

Офлайн

#2 Март 21, 2019 00:20:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

Надо рекурсивно удалять. Заходишь в директорию и удаляешь из неё все файлы и директории. Чтобы удалить директории, заходишь в каждую из них и удаляешь из неё все файлы и директории. Чтобы удалить директории, заходишь в каждую из них и удаляешь из неё все файлы и директории. И так далее.

Так оно будет спускаться, пока не дойдёт до директории, в которой есть только файлы. Когда файлы будут удалены, директория опустеет и при подъёме обратно её уже можно будет удалить как пустую.



Офлайн

#3 Март 27, 2019 08:39:22

OzMod
Зарегистрирован: 2017-01-11
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

py.user.next
А примерчик небольшой можно ?
Скажем мне нужно удалить эту директорию (Папка 1), а в ней лежит следующее…

 Папка 1 - (надо её удалить)
    |---- файл 1 - (а в ней файл 1)
    |---- папка 2 - (там же папка 2)
            |---- файл 2 - (а в папке 2 , файл-2)
Как удалить папку 1 , я конечно могу скажем зайти в каждую папку по удалить оттуда файлы, а потом следом и папки…

Отредактировано OzMod (Март 27, 2019 08:48:31)

Офлайн

#4 Март 27, 2019 09:27:25

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

https://bountify.co/small-simple-python-ftp-file-delete-script-2



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#5 Март 27, 2019 10:08:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

OzMod
А примерчик небольшой можно ?
Псевдокод для рекурсивного удаления директории
удалить_файл(путь) {
удалить(путь)
}

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

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

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

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


tags: recursion directory



Отредактировано py.user.next (Март 27, 2019 10:10:23)

Офлайн

#6 Март 30, 2019 16:20:38

OzMod
Зарегистрирован: 2017-01-11
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

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)

Офлайн

#7 Март 30, 2019 23:21:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

OzMod
Блин пытался по вашему примеру написать функцию удаления не пустой директории,не удаляет …:-\
Я ошибок не вижу у себя в псевдокоде. Так что скидывай свой код на питоне. Где-то там ошибка.



Офлайн

#8 Март 31, 2019 02:32:12

OzMod
Зарегистрирован: 2017-01-11
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

FTP - (ftplib) удалить директорию с папками и файлами

PEHDOM
Спасибо за полезную ссылочку ! +

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version