Sto provando a leggere i file usando il ftplib di Python senza scriverli. Qualcosa o meno equivalente a:È possibile leggere i file FTP senza scriverli usando Python?
def get_page(url):
try:
return urllib.urlopen(url).read()
except:
return ""
ma tramite FTP.
ho provato:
def get_page(path):
try:
ftp = FTP('ftp.site.com', 'anonymous', 'passwd')
return ftp.retrbinary('RETR '+path, open('page').read())
except:
return ''
, ma questo non funziona. Gli unici esempi nei documenti riguardano la scrittura di file utilizzando il formato ftp.retrbinary('RETR README', open('README', 'wb').write)
. È possibile leggere i file ftp senza scrivere prima?
Un cavillo terminologico: la risposta alla domanda come è stata formulata è no, perché "download" significa "trasferimento dal server", non "salvataggio su disco". L'esempio 'urllib' che hai dato _does_ scarica il file; semplicemente non lo salva su disco. – senderle
Sembra. È possibile leggere un libro senza aprirlo? FTP è progettato per trasferire file. Quindi il protocollo ftp non ha azioni che implichino la lettura, l'esecuzione o l'apertura di un file. Un altro argomento stackoverlow pone la stessa domanda per java. FTP invia il file come un flusso di bit. Quindi potrebbe essere possibile leggere e gestire il file durante il download. http://stackoverflow.com/questions/7690320/how-to-read-files-from-ftp-without-download-them – Erik
Sì, mi sono reso conto di averlo scritto male dopo averlo postato ... Modificherò adesso. – aensm