Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 26, 2009 23:13:58

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Ftplib

Как проверить существует ли папка на ftp ?
Нужно создать новую папку,если она уже есть,то нужно удалить её.
Пробовал так:

session = ftplib.FTP()
session.connect("")
session.login(","")
session.cwd("www")
try:
session.mkd(domain)
except ftplib.error_perm:
session.rmd(domain)
session.mkd(domain)
Не работает…
upd:
Разобрался в чём проблема,папка не удаляется из-за того что в ней есть файлы,как удалить папку с файлами ?



Отредактировано (Сен. 26, 2009 23:51:14)

Офлайн

#2 Сен. 27, 2009 11:15:25

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Ftplib

Удалить все файлы из папки, а уже потом - саму папку.
ftputil сильно упростит работу с ftp.

Отредактировано (Сен. 27, 2009 11:36:32)

Офлайн

#3 Сен. 27, 2009 13:17:28

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Ftplib

Ferroman
Удалить все файлы из папки, а уже потом - саму папку.
ftputil сильно упростит работу с ftp.
Хотелось бы чтобы всё работало без сторонних модулей,спасибо за подсказку,думал это уже как-то реализовано в этом модуле.



Отредактировано (Сен. 27, 2009 13:18:58)

Офлайн

#4 Сен. 27, 2009 22:04:34

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Ftplib

def deldir(ftp,dir):
ftp.cwd(dir)
list = ftp.nlst()
for i in list[2:]:
ftp.delete(i)
ftp.cwd("..")
ftp.rmd(dir)
Написал простенькую функцию удаления папки,может кому пригодится.



Отредактировано (Сен. 27, 2009 22:08:29)

Офлайн

#5 Сен. 27, 2009 22:20:55

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Ftplib

<занудство>Отступы лучше делать в 4 пробела, а не в 8.</занудство>

Офлайн

#6 Сен. 28, 2009 14:13:14

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Ftplib

Ferroman
<занудство>Отступы лучше делать в 4 пробела, а не в 8.</занудство>
Скопипастил из своего класса ,часть отступов просто от него осталась :)



Отредактировано (Сен. 28, 2009 14:18:00)

Офлайн

#7 Июнь 8, 2013 19:27:13

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

Ftplib

upd:
Разобрался в чём проблема,папка не удаляется из-за того что в ней есть файлы,как удалить папку с файлами ?

Можно выполнить лист новой папки и по получившемуся массиву удалить из него все файлы. А дальше удалить саму папку. Вот так вот!

Отредактировано Art-master (Июнь 8, 2013 19:28:22)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version