Я хотел бы получить данные из сжатого gz-файла, хранящегося на FTP-сервере, без записи файла в локальный архив.
На данный момент я сделал
from ftplib import FTP
import gzip
ftp = FTP('ftp.server.com')
ftp.login()
ftp.cwd('/a/folder/')
fileName = 'aFile.gz'
localfile = open(fileName,'wb')
ftp.retrbinary('RETR '+fileName, localfile.write, 1024)
f = gzip.open(localfile,'rb')
data = f.read()
Это, однако, записывает файл "localfile" в текущее хранилище.
Я пытался изменить это в
from ftplib import FTP
import zlib
ftp = FTP('ftp.server.com')
ftp.login()
ftp.cwd('/a/folder/')
fileName = 'aFile.gz'
data = ftp.retrbinary('RETR '+fileName, zlib.decompress, 1024)
, но ftp.retrbinary
не выводит вывод своего обратного вызова,Есть ли способ сделать это?