Как загрузить файл из расшаренного FTP ресурса в локальной сети? Всем доброго времени суток! Задача: Написать код который будет отправлять файл определенного репозитория, переименовывая его, на FTP-ресурс сервера находящегося в локальной сети. Проблема: не могу придумать как написать функцию, всё "навесное" уже написал, а над самой функцией 2ую неделю сижу, Если конечно можно, расскажите как можно было бы следить за ходом загрузки, файлы очень объемные, а соединение бывает нестабильное. Заранее всем спасибо за потраченное время, жду ответов)
Для загрузки файла из расшаренного FTP ресурса в локальной сети, можно воспользоваться библиотекой ftplib в Python. Вот пример кода, который сначала загружает файл с FTP-ресурса, а затем отправляет его на другой FTP-ресурс:
Чтобы следить за ходом загрузки файла, можно добавить вывод информации о том, сколько байт уже было передано. Например, перед каждой итерацией записи в файл или чтения из файла можно выводить количество байт, которое уже было передано или прочитано. Также можно добавить обработку возможных ошибок при передаче файлов и повторные попытки в случае неудачной передачи.
Для загрузки файла из расшаренного FTP ресурса в локальной сети, можно воспользоваться библиотекой ftplib в Python. Вот пример кода, который сначала загружает файл с FTP-ресурса, а затем отправляет его на другой FTP-ресурс:
from ftplib import FTPimport os
def download_file_from_ftp(source_ftp_host, source_ftp_path, source_filename, dest_filename):
ftp = FTP(source_ftp_host)
ftp.login()
ftp.cwd(source_ftp_path)
with open(dest_filename, 'wb') as file:
ftp.retrbinary('RETR ' + source_filename, file.write)
ftp.quit()
def upload_file_to_ftp(dest_ftp_host, dest_ftp_path, dest_filename):
ftp = FTP(dest_ftp_host)
ftp.login()
ftp.cwd(dest_ftp_path)
with open(dest_filename, 'rb') as file:
ftp.storbinary('STOR ' + dest_filename, file)
ftp.quit()
source_ftp_host = 'source_ftp_host'
source_ftp_path = 'source_ftp_path'
source_filename = 'source_filename.txt'
dest_filename = 'dest_filename.txt'
download_file_from_ftp(source_ftp_host, source_ftp_path, source_filename, dest_filename)
dest_ftp_host = 'dest_ftp_host'
dest_ftp_path = 'dest_ftp_path'
upload_file_to_ftp(dest_ftp_host, dest_ftp_path, dest_filename)
Чтобы следить за ходом загрузки файла, можно добавить вывод информации о том, сколько байт уже было передано. Например, перед каждой итерацией записи в файл или чтения из файла можно выводить количество байт, которое уже было передано или прочитано. Также можно добавить обработку возможных ошибок при передаче файлов и повторные попытки в случае неудачной передачи.