Является ли параметр text=True|False в mkstemp специфичным для Windows? Извините, что приходится спрашивать, но я работаю в UNIX/Linux.
На низком уровне файловых дескрипторов, где работает mkstemp, все файлы просто байты. Я был удивлен, увидев параметр text=. Единственная подсказка, которую я нашел, - это комментарий в документации os.open:
В частности, в Windows добавление O_BINARY необходимо для открытия файлов в двоичном формате. режиме.
Для полноты документации tempfile.mkstemp:
< blockquote>
Если текст указан и имеет значение true, файл открывается в текстовом режиме.
В противном случае (по умолчанию) файл открывается в двоичном режиме.
mkstemp() возвращает кортеж, содержащий дескриптор уровня ОС открытого
файла (как было бы возвращено os.open()) и абсолютный путь
к этому файлу в указанном порядке.
И пример. Он действительно возвращает дескриптор файла и имя файла:
>>> import tempfile
>>> tempfile.mkstemp(text=False)
(3, '/tmp/tmp9z8rp2_2')
>>> tempfile.mkstemp(text=True)
(4, '/tmp/tmpc6z9j2yu')
Подробнее здесь: https://stackoverflow.com/questions/784 ... ctually-do