Прошу прощения, если это очень простой или уже заданный вопрос (я искал Google, но не смог найти простое & удовлетворительное объяснение).Что такое sys.stdin.fileno() в python
Я хочу знать, что такое sys.stdin.fileno()
?
Я видел это в коде и не понимал, что он делает. Вот фактический код блок,
fileno = sys.stdin.fileno()
if fileno is not None:
new_stdin = os.fdopen(os.dup(fileno))
Я только что выполнил print sys.stdin.fileno()
в моей командной строке питона и он вернулся 0
.
Я также искал Google и this (nullage.com) это ссылка, которую я мог найти, но это также говорит только
fileno() -> целое "дескриптор файла".
Это необходимо для интерфейсов файлов нижнего уровня, таких как os.read().
Итак, что именно это означает?
Это означает, что это необходимо для интерфейсов файлов нижнего уровня (например, 'os.read'). Это идентификатор низкого уровня для файла (и он может быть неприменим ко всем платформам), традиционно стандартная версия имеет дескриптор 0, стандартное 1 и стандартное-err 2, а в других файлах - дескрипторы> 2. 'os.dup' дублирует дескриптор (создает низкоуровневый идентификатор для копии файла), а' fdopen' создает объект высокого уровня из низкоуровневого дескриптора. – skyking