Próbuję odczytać pliki za pomocą ftplib Pythona bez ich pisania. Coś mniej więcej równoważnego:Czy można odczytać pliki FTP bez pisania ich za pomocą Pythona?
def get_page(url):
try:
return urllib.urlopen(url).read()
except:
return ""
ale za pomocą FTP.
Próbowałem:
def get_page(path):
try:
ftp = FTP('ftp.site.com', 'anonymous', 'passwd')
return ftp.retrbinary('RETR '+path, open('page').read())
except:
return ''
ale to nie działa. Jedyne przykłady w dokumentach dotyczą zapisywania plików w formacie ftp.retrbinary('RETR README', open('README', 'wb').write)
. Czy można odczytać pliki ftp bez uprzedniego zapisu?
terminologiczną zastrzeżenie: odpowiedź na pytanie, jak masz sformułowane nie jest, bo „pobranie” oznacza „przeniesienie z serwera”, a nie „zapisz na dysku”. Przykład "urllib", który dałeś _does_, pobierz plik; po prostu nie zapisuje go na dysku. – senderle
Brzmi jak. Czy można przeczytać książkę bez jej otwierania? FTP jest przeznaczony do przesyłania plików. Tak więc protokół ftp nie podejmuje żadnych działań, które wymagają czytania, uruchamiania lub otwierania pliku. Kolejny temat stackoverlow stawia to samo pytanie dla java. FTP wysyła plik jako strumień bitów. Dzięki temu można odczytać i obsłużyć plik podczas pobierania. http://stackoverflow.com/questions/7690320/how-to-read-files-from-ftp-without-download-them – Erik
Tak, zdałem sobie sprawę, że źle to sformułowałem po tym, jak to opublikowałem ... teraz. – aensm