Tôi đang cố đọc các tệp bằng cách sử dụng ftplib của Python mà không cần viết chúng. Nội dung nào đó tương đương với:Có thể đọc các tệp FTP mà không cần viết chúng bằng Python không?
def get_page(url):
try:
return urllib.urlopen(url).read()
except:
return ""
nhưng sử dụng FTP.
tôi đã cố gắng:
def get_page(path):
try:
ftp = FTP('ftp.site.com', 'anonymous', 'passwd')
return ftp.retrbinary('RETR '+path, open('page').read())
except:
return ''
nhưng điều này không hoạt động. Các ví dụ duy nhất trong tài liệu liên quan đến việc viết tệp bằng định dạng ftp.retrbinary('RETR README', open('README', 'wb').write)
. Có thể đọc các tệp ftp mà không cần viết trước không?
Một thuật ngữ phân biệt: câu trả lời cho câu hỏi của bạn như bạn đã diễn đạt nó là không, bởi vì "tải xuống" có nghĩa là "chuyển từ máy chủ", chứ không phải "lưu vào đĩa". Ví dụ 'urllib' bạn đã cho _does_ tải xuống tệp; nó chỉ không lưu nó vào đĩa. – senderle
Âm thanh như thế nào. Có thể đọc một cuốn sách mà không cần mở nó không? FTP chỉ được thiết kế để truyền tệp. Vì vậy, giao thức ftp không có hành động nào liên quan đến việc đọc, chạy hoặc mở một tệp. Chủ đề xếp chồng khác cũng đặt ra cùng một câu hỏi cho java. FTP gửi tệp dưới dạng luồng bit. Vì vậy, có thể đọc và xử lý tệp trong khi tải xuống. http://stackoverflow.com/questions/7690320/how-to-read-files-from-ftp-without-download-them – Erik
Vâng, tôi nhận ra rằng tôi đã nói sai rằng sau khi tôi đăng nó ... Tôi sẽ chỉnh sửa hiện nay. – aensm