Прочитать файл в буфере с FTP Python

Я пытаюсь прочитать файл с FTP-сервера. Файл является.gz файл. Я хотел бы знать, могу ли я выполнить действия с этим файлом, пока сокет открыт. Я пытался следовать тому, что было упомянуто в двух вопросах StackOverflowчтение файлов без записи на диск а такжечтение файлов с FTP без скачивания но не удалось

Я знаю, как извлечь данные / работать с загруженным файлом, но я не уверен, что смогу сделать это на лету. Есть ли способ подключиться к сайту, получить данные в буфере, возможно, извлечь данные и выйти?

При попытке StringIO я получил ошибку:

>>> from ftplib import FTP
>>> from StringIO import StringIO
>>> ftp = FTP('ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/PMC-ids.csv.gz')

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
ftp = FTP('ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/PMC-ids.csv.gz')
File "C:\Python27\lib\ftplib.py", line 117, in __init__
self.connect(host)
File "C:\Python27\lib\ftplib.py", line 132, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout)
File "C:\Python27\lib\socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
gaierror: [Errno 11004] getaddrinfo failed

Мне просто нужно знать, как я могу получить данные в некоторую переменную и зациклить ее, пока файл с FTP не будет прочитан.

Я ценю ваше время и помощь. Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос