Ed
Отвечу также на непрозвучавший вопрос 'А что же сделать, чтобы имя было?'. Ответ на него уже прозвучал, как ни странно - юзать NamedTemporaryFile.
Если вам интересно как это сделать - покажите ваш код, я расскажу, если смогу.
Посмотрел код. Буду рассуждать так -
Удаление имени временного файла, в зависимости от платформы, видимо, связано с тем, что-бы чистильщик временной папки, если такой есть, не удалил сам файл. И автор метода оставляет только дискриптор файла, не подумав при этом, что я могу сделать хранилищем свою директорию по выбору и сам заботиться о ее непереполнении.
Мой код вам не нужен, и вы знаете об этом.
“Обмануть” модуль CGI, который использует TemporaryFile можно попробовать.
Временно прописать os.name…или в os.modules записать ссылку на свой метод…и то и другое надо пробовать…
Можно модифицировать пару строк (ОДНУ СТРОКУ!) у CGI и поместить в свою библиотеку, а именно, в самом модуле заменить TemporaryFile на NamedTemporaryFile…и все! При этом в os.environ и т.п. записать свои значения.
Хорошо! что есть исходники!
Плохо, что до сих пор не сделали модуль с возможностью задать свою TMP папку.