Python Glossary English

все Python 3statфункция

stat.S_ISFIFO()

тип файла

Проверяет по st_mode, что объект — канал (pipe): именованный FIFO или безымянный из os.pipe().

Синтаксис

stat.S_ISFIFO(os.fstat(fd).st_mode)

Отвечает на вопрос «мне на вход подали вывод другой программы?»: при `cmd | python x.py` S_ISFIFO(os.fstat(0).st_mode) истинна. Канал нельзя перематывать: seek() и повторное чтение не работают, а чтение блокируется, пока пишущая сторона не закроется, — поэтому код, рассчитанный на обычный файл, с каналом зависает или падает.

Примеры

import os, stat
r, w = os.pipe()
print(stat.S_ISFIFO(os.fstat(r).st_mode))  # → True
os.close(r)
os.close(w)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности