Python 将tempfile.TemporaryFile分配给变量并执行时出错

Python 将tempfile.TemporaryFile分配给变量并执行时出错,python,Python,假设我的类如下所示,所有相关的导入都已完成: class LargeRequest(server.Request): memory_limit = 1024*1024*25 temp_type = tempfile.TemporaryFile def parse_multipart(self, fp, pdict): while loop_condition: if self.temp_type.__name__ == 'Spoo

假设我的类如下所示,所有相关的导入都已完成:

class LargeRequest(server.Request):
    memory_limit = 1024*1024*25
    temp_type = tempfile.TemporaryFile

    def parse_multipart(self, fp, pdict):
        while loop_condition:
            if self.temp_type.__name__ == 'SpooledTemporaryFile':
                data = self.temp_type(max_size=self.memory_limit)
            else:
                data = self.temp_type()
            ...
            data.write('stuff')
当我运行此命令时,我得到一个错误:

  File "/home/user/workspace/twisted/server.py", line 226, in parse_multipart
    data = self.temp_type()
  File "/usr/lib/python2.7/tempfile.py", line 484, in TemporaryFile
    if 'b' in mode:
exceptions.TypeError: argument of type 'instance' is not iterable
指的是

此外,如果我只是执行以下操作,则不会发生此错误:

data = tempfile.TemporaryFile()

但我希望有更多的灵活性。我做错了什么?

temp\u type
成为实例方法
self.temp\u type()
调用been
TemporaryFile(self)

请尝试以下操作:

temp_type = staticmethod(tempfile.TemporaryFile)