したがって、私のクラスが以下のようになり、関連するすべてのインポートが既に行われているとしましょう:
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
tempfile.py のこの行を参照します。
また、単純に次のようにすると、このエラーは発生しません。
data = tempfile.TemporaryFile()
でももう少し柔軟に対応してほしい。私は何を間違っていますか?