1

我需要将一个可能很大的纯文本文件上传到一个非常简单的 wsgi-app 而不用尽服务器上的所有可用内存。我该如何做到这一点?如果可能,我想使用标准的 python 模块并避免使用第三方模块。

4

3 回答 3

3

wsgi.input 应该是类似流对象的文件。您可以从块中读取,并将这些块直接写入磁盘。这不应该占用任何重要的内存。

还是我误解了这个问题?

于 2009-07-09T13:49:23.083 回答
2

如果您使用 cgi 模块来解析输入(大多数框架都使用,例如 Pylons、WebOb、CherryPy),那么它会自动将上传的文件保存到临时文件中,而不是将其加载到内存中。

于 2009-07-30T21:32:04.443 回答
0

python 知道如何处理 gzip 和 zip 文件吗?我建议您在客户端上压缩文件(使用 zip 或 gzip 兼容的应用程序,如 7-zip),然后将其上传到您的服务器。

更好的是:编写一个自动压缩文件并上传的脚本。这可以通过标准库实现。

于 2009-07-09T13:47:35.503 回答