上传文件时,表示它的标准方式是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,它可以告诉你各种各样的东西,甚至是文件的大小.