我编写了一个从互联网上下载文件的python脚本。但是每次我运行脚本时,似乎我的计算机都被冻结了。
代码:
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()
我该怎么做才能加载这样我的电脑不会冻结?
我应该分配有限数量的ram吗?或者我应该创建一个线程来执行此操作?
任何建议都将不胜感激。 TY。
答案 0 :(得分:2)
如果我是你,我会增加块大小并为底层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
如果这没有帮助,那么您的系统/代码中存在的问题比这篇文章更深层。