Yêu cầu là một thư viện thực sự tốt đẹp. Tôi muốn sử dụng nó để tải xuống các tệp lớn (> 1GB). Vấn đề là không thể giữ toàn bộ tập tin trong bộ nhớ. Tôi cần đọc nó theo từng đoạn. Và đây là một vấn đề với đoạn mã sau
import requests
def DownloadFile(url)
local_filename = url.split('/')[-1]
r = requests.get(url)
f = open(local_filename, 'wb')
for chunk in r.iter_content(chunk_size=512 * 1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.close()
return
Bởi một số lý do nó không hoạt động theo cách này. Nó vẫn tải phản hồi vào bộ nhớ trước khi lưu nó vào một tập tin.
CẬP NHẬT
Nếu bạn cần một máy khách nhỏ (Python 2.x /3.x) có thể tải xuống các tệp lớn từ FTP, bạn có thể tìm thấy nó ở đây . Nó hỗ trợ đa luồng & kết nối lại (nó giám sát các kết nối), nó cũng điều chỉnh các thông số ổ cắm cho tác vụ tải xuống.