Что на самом деле делает параметр tempfile.mkstemp(text=...)?Python

Программы на Python
Anonymous
Что на самом деле делает параметр tempfile.mkstemp(text=...)?

Сообщение Anonymous »

Является ли параметр 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

Вернуться в «Python»