Estoy tratando de leer archivos usando ftplib de Python sin escribirlos. Algo aproximadamente equivalente a:¿Es posible leer archivos FTP sin escribirlos usando Python?
def get_page(url):
try:
return urllib.urlopen(url).read()
except:
return ""
pero mediante FTP.
me trataron:
def get_page(path):
try:
ftp = FTP('ftp.site.com', 'anonymous', 'passwd')
return ftp.retrbinary('RETR '+path, open('page').read())
except:
return ''
pero esto no funciona. Los únicos ejemplos en los documentos implican escribir archivos usando el formato ftp.retrbinary('RETR README', open('README', 'wb').write)
. ¿Es posible leer archivos ftp sin escribir primero?
Una objeción terminológica: la respuesta a su pregunta tal como la ha redactado es no, porque "descargar" significa "transferencia desde el servidor", no "guardar en el disco". El ejemplo 'urllib' que le diste _does_ descarga el archivo; simplemente no lo guarda en el disco. – senderle
Suena como. ¿Es posible leer un libro sin abrirlo? FTP está diseñado para transferir archivos. Entonces, el protocolo ftp no tiene acciones que impliquen leer, ejecutar o abrir un archivo. Otro tema de stackoverlow plantea la misma pregunta para java. FTP envía el archivo como un flujo de bits. Por lo tanto, podría ser posible leer y manejar el archivo durante la descarga. http://stackoverflow.com/questions/7690320/how-to-read-files-from-ftp-without-download-them – Erik
Sí, me di cuenta de que lo redacté mal después de publicarlo ... editaré ahora. – aensm