| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > Синхронизация локальной директории с ftp |
| Автор: doctorltd 3.2.2009, 14:52 |
| Добрый день! Подскажите, пожалуйста, как правильно организовать синхронизацию локальных файлов с фтп директорией. На фтп файлы не меняются и не добавляются, поэтому копирование должно идти только в сторону фтп. Пока что у меня получилось только найти те локальные файлы, которых нет на сервере и закачать их туда. А вот узнать размер удаленного файла не получается. При попытке вызвать size скрипт останавливается с ошибкой 550 SIZE not allowed in ASCI mode. И еще было бы здорово сравнивать не только по размеру, но и по дате изменения. А аналога mtime для ftp я не нашел. Собственно, как проверить какие файлы нужно обновить на фтп-сервере? |
| Автор: _Viper_ 3.2.2009, 17:02 |
| Перед получением размера явно перейди в бинарный режим FTP.sendcmd('TYPE I'). Тогда size нормально работает. P.S. Было бы неплохо если б ты приводил простой код который демонстрирует проблему. |
| Автор: doctorltd 3.2.2009, 17:53 | ||
Что-то не получилось не смотря на ваш совет =( Вот код
|
| Автор: _Viper_ 3.2.2009, 18:09 | ||
Попробуй:
|
| Автор: doctorltd 4.2.2009, 09:34 |
| Спасибо, получилось! А что на счёт второй части вопроса - как узнать время изменения удалённого файла? |
| Автор: _Viper_ 4.2.2009, 13:06 |
| Могу предложить парсить результат команды nlst. |
| Автор: doctorltd 5.2.2009, 16:00 |
| И как это сделать? У меня из вывода nlst получается вытянуть только имя файла! |
| Автор: doctorltd 5.2.2009, 17:23 |
| Все, получилось через ftp.retrlines('LIST', content.append) |