Leia um arquivo no buffer do FTP python
Eu estou tentando ler um arquivo de um servidor FTP. O arquivo é um.gz
Arquivo. Gostaria de saber se posso executar ações nesse arquivo enquanto o soquete está aberto. Eu tentei seguir o que foi mencionado em duas perguntas do StackOverflowlendo arquivos sem gravar no disco elendo arquivos do FTP sem baixar mas não foi bem sucedido.
Eu sei como extrair dados / trabalho no arquivo baixado, mas não tenho certeza se posso fazê-lo em tempo real. Existe uma maneira de se conectar ao site, obter dados em um buffer, possivelmente fazer alguma extração de dados e sair?
Ao tentar StringIO eu recebi o erro:
>>> 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
Eu só preciso saber como posso obter dados em alguma variável e fazer um loop até que o arquivo do FTP seja lido.
Eu aprecio seu tempo e ajuda. Obrigado!