인터넷에서 파일을 다운로드하는 파이썬 스크립트를 작성했습니다. 그러나 스크립트를 실행할 때마다 컴퓨터가 멈춘 것처럼 보입니다.
코드 :
response = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in response.iter_content(chunk_size=2048):
if chunk:
f.write(chunk)
f.flush()
컴퓨터가 멈추지 않도록로드하려면 어떻게해야합니까?
제한된 양의 램을 할당해야합니까? 아니면 스레드를 만들어야합니까?
조언을 주시면 감사하겠습니다. ty.
내가 당신이라면 청크 크기를 늘리고 기본 I / O 스레드를위한 호흡 공간을 추가 할 것입니다.
import time
response = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in response.iter_content(chunk_size=1024*1024): # lets use 1 meg chunks
if chunk:
f.write(chunk)
f.flush()
time.sleep(0.05) # 50ms delay won't kill anyone
그래도 도움이되지 않으면이 부분보다 시스템 / 코드에 더 깊은 문제가있는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다