요청 은 정말 좋은 라이브러리입니다. 큰 파일 (> 1GB)을 다운로드하는 데 사용하고 싶습니다. 문제는 전체 파일을 메모리에 보관할 수 없다는 것입니다. 청크 단위로 읽어야합니다. 그리고 이것은 다음 코드의 문제입니다
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
어떤 이유로 든이 방법으로 작동하지 않습니다. 파일에 저장하기 전에 여전히 응답을 메모리에로드합니다.
최신 정보
FTP에서 큰 파일을 다운로드 할 수있는 작은 클라이언트 (Python 2.x /3.x)가 필요한 경우 여기에서 찾을 수 있습니다 . 멀티 스레딩 및 재 연결 (연결 모니터링)도 지원하며 다운로드 작업에 대한 소켓 매개 변수를 조정합니다.