Я пытаюсь прочитать файл с 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 не будет прочитан.
Я ценю ваше время и помощь. Спасибо!