Python Glossary English

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

fileinput.fileno()

состояние чтения

Возвращает целый файловый дескриптор текущего файла fileinput или -1, если файл сейчас не открыт.

Синтаксис

fileinput.fileno() -> int

-1 приходит до первой строки и в промежутке между файлами — это не ошибка, а «файла нет», и передавать его в os.fstat() нельзя. Дескриптор принадлежит fileinput: закрывать его самому не надо, он закроется при переходе к следующему файлу.

Примеры

import fileinput, os
open('a.txt', 'w', encoding='utf-8').write('a1\na2\n')
with fileinput.input(['a.txt'], encoding='utf-8') as f:
    print(fileinput.fileno())  # → -1
    next(f)
    fd = fileinput.fileno()
    print(fd >= 0, os.fstat(fd).st_size)  # → True 6

См. также

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