все 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Сообщить о неточности