У меня есть многострочная строка, определенная следующим образом:
foo = """
this is
a multi-line string.
"""
Эта строка, которую мы использовали в качестве тестового ввода для синтаксического анализатора, который я пишу. Функция-синтаксический анализатор получает объект file
-объект в качестве входных данных и выполняет итерацию по нему. Он также вызывает метод next()
, чтобы пропустить строки, поэтому мне действительно нужен итератор в качестве входных данных, а не итерируемый.
Мне нужен итератор, который выполняет итерации по отдельным строкам этой строки, как file
-объект, по строкам текстового файла. Я мог бы, конечно, сделать это вот так:
lineiterator = iter(foo.splitlines())
Есть ли более прямой способ сделать это? В этом сценарии строка должна пройти один раз для разделения, а затем снова парсером. В моем тестовом случае это не имеет значения, так как строка очень короткая, я просто спрашиваю из любопытства. У Python есть так много полезных и эффективных встроенных модулей для таких вещей, но я не мог найти ничего, что подходит для этой потребности.