尝试使用以下HTTP请求下载数据。该请求将被顺序执行数千次。
with urllib.request.urlopen(url, timeout=120) as resp:
with open(save_loc + '.part', 'wb') as fh:
while True:
chunk = resp.read(1024 * 1024)
if not chunk:
break
fh.write(chunk)
此呼叫由:
if __name__ == '__main__':
x = [str(x) for x in range(1,100)]
with Pool(initializer=init_worker, processes=1) as pool:
result = pool.map(downloadData,x, chunksize=1)
pool.close()
pool.join()
将来会扩大下载功能,这就是为什么我将代码用于多处理的原因。
我遇到的此类错误的解决方法是使用以下方法增加打开文件的限制
ulimit -n [limit]
或者使用“ with”语句打开文件。
当我使用自动关闭文件处理程序的“ with”语句时,我试图理解为什么有文件实例打开(错误提示)。