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

时间:2014-08-13 16:43:25

标签: python python-2.7 wsgi

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

uploaded = cgi.FieldStorage()

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

1 个答案:

答案 0 :(得分:6)

效率最低的方式是:

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,它可以告诉你各种各样的东西,甚至是文件的大小。