Python Glossary English

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

fileinput.filename()

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

Возвращает имя файла, из которого прочитана последняя строка в fileinput.input().

Синтаксис

fileinput.filename() -> str | None

До первой прочитанной строки возвращает None, для stdin — строку '<stdin>'. Имя приходит в том виде, в каком передано: относительный путь остаётся относительным. Без активного input() — RuntimeError, а не None. В цикле удобно для меток вида «файл:строка» вместе с filelineno().

Примеры

import fileinput
open('a.txt', 'w', encoding='utf-8').write('a1\na2\n')
open('b.txt', 'w', encoding='utf-8').write('b1\nb2\n')
with fileinput.input(['a.txt', 'b.txt'], encoding='utf-8') as f:
    print(fileinput.filename())  # → None
    for line in f:
        print(f'{fileinput.filename()}:{fileinput.filelineno()}')  # → a.txt:1 / a.txt:2 / b.txt:1 / b.txt:2

См. также

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