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

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可以告诉您各种信息,甚至文件大小。

09-25 22:09