Python Glossary English

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

fileinput.nextfile()

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

Закрывает текущий файл, чтобы следующая итерация начала со следующего файла; непрочитанные строки пропускаются.

Синтаксис

fileinput.nextfile()

Пропущенные строки не попадают в общий счётчик lineno(), так что номера не совпадут с «номером строки в склеенном тексте». До чтения первой строки nextfile() ничего не делает — пропустить им первый файл целиком нельзя. Имя в filename() меняется только после чтения первой строки следующего файла.

Примеры

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:
    for line in f:
        if fileinput.filename() == 'a.txt':
            fileinput.nextfile()  # заголовка хватит
        print(fileinput.lineno(), line.strip())  # → 1 a1 / 2 b1 / 3 b2

См. также

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