【问题标题】:How do you measure the size of a cgi.FieldStorage instance?如何测量 cgi.FieldStorage 实例的大小?
【发布时间】:2014-10-07 03:23:25
【问题描述】:

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

uploaded = cgi.FieldStorage()

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

【问题讨论】:

    标签: python python-2.7 wsgi


    【解决方案1】:

    效率最低的方法是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-26
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2023-02-21
      • 2020-02-19
      • 1970-01-01
      • 2020-01-21
      相关资源
      最近更新 更多