Файл является реальным файлом, но cgi.FieldStorage
отменил связь с ним, как только он был создан, так что он будет существовать только до тех пор, пока вы его оставите открытым, и больше не будет реального пути в файловой системе. 1002 *
Однако вы можете изменить это ...
Вы можете расширить cgi.FieldStorage
и заменить метод make_file
, чтобы поместить файл в любое место:
import os
import cgi
class MyFieldStorage(cgi.FieldStorage):
def make_file(self, binary=None):
return open(os.path.join('/tmp', self.filename), 'wb')
Вы также должны иметь в виду, что объект FieldStorage
создает реальный файл только в том случае, если он получает более 1000B (в противном случае это cStringIO.StringIO
)
РЕДАКТИРОВАТЬ : Модуль cgi
фактически создает файл с модулем tempfile
, так что проверьте, хотите ли вы много неприятных подробностей.