python – 如何衡量cgi.FieldStorage实例的大小?

上传文件时,表示它的标准方式是cgi.FieldStorage(至少Pyramid就是这样做的).但是,如果我想以有效的方式知道长度,我该如何获得它?例如:

uploaded = cgi.FieldStorage()

如果此变量现在来自请求,如何确定文件的大小?

解决方法:

效率最低的方式是:

size = len(uploaded.value)

更好:

uploaded.file.seek(0, 2)
size = uploaded.file.tell()
uploaded.file.seek(0)

最好:

import os
size = os.fstat(uploaded.file.fileno()).st_size

最后一个选项是在C中测量文件的首选方法,而Python仅代理此过程.它返回a structure,它可以告诉你各种各样的东西,甚至是文件的大小.

上一篇:python – Apache mod_wsgi和php在同一个域中


下一篇:Django 框架学习(七):用户认证、项目部署、WSGI Dhango工作环境部署、nginx反向代理配置