0

我有一些相对较大的 .js 文件(flot 和 jquery)与 Python BaseHTTPServer 一起使用。

目前我正在使用:

with open(curdir + sep + self.path, 'rb') as fd:
    self.wfile.write(fd.read())

但它相当慢,甚至从同一台机器加载文件(> 秒来获取这些文件)。我想这是将整个文件读入 RAM,然后从中写入,有没有办法可以加快速度?

4

1 回答 1

2

实际上,您的代码会在将所有内容发送给客户端之前对其进行缓冲。要改为流式传输响应,请查看SimpleHTTPServer是如何实现的。

它使用shutil.copyfileobj, 正是这样做的。利用:

import shutil
shutil.copyfileobj(fd, self.wfile)
于 2014-08-08T08:26:45.333 回答