我有一个python cgi脚本,它接收通过http帖子上传的文件。文件可能很大(300+ Mb)。问题是,cgi.FieldStorage()获取文件的速度非常慢(300Mb文件需要6分钟才能“收到”)。只需读取stdin就可以做大约15秒钟。后者的问题是,如果有多个字段被发布,我将不得不自己解析数据。
FieldStorage()有更快的替代方案吗?
答案 0 :(得分:2)
“[我]必须自己解析数据”
为什么呢? CGI有parser你可以明确打电话。
读取上传的流并将其保存在本地磁盘文件中。
对于超快速度,请使用StringIO内存文件。请注意上传所需的内存量。
使用cgi.parse(mylocalfile)
。