Сообщить об ошибке.

Функция io.StringIO() модуля io в Python.

Поток в памяти для текстового ввода-вывода.

Синтаксис:

import io

fp = io.StringIO(initial_value='', newline='\n')

Описание:

Класс io.StringIO поток в памяти для текстового ввода-вывода. Текстовый буфер сбрасывается при вызове метода fp.close().

Начальное значение буфера может быть установлено путем присваивания значения аргументу initial_value. Если перевод новой строки newline включен, новые строки будут закодированы как при выполнении метода fp.write(). Поток располагается в начале буфера.

Аргумент newline работает по тому же принципу, что и в io.TextIOWrapper. По умолчанию в качестве концов строк рассматриваются только символы \n, а перевод новой строки не выполняется. Если для новой строки установлено значение None, новые строки записываются как \n на всех платформах, но при чтении выполняется универсальное декодирование новой строки.

Класс io.StringIO наследует атрибуты и методы из класса io.TextIOBase и его родителей, а так же дополнительно предоставляет метод.

Дополнительный и метод класса io.StringIO:

fp.getvalue():

Метод возвращает строку str содержащую все содержимое буфера. Новые строки декодируются как при методе fp.read(), хотя позиция потока не изменяется.

Пример использования:

import io

output = io.StringIO()
output.write('First line.\n')
print('Second line.', file=output)

# Retrieve file contents -- this will be
# 'First line.\nSecond line.\n'
contents = output.getvalue()

# Close object and discard memory buffer --
# .getvalue() will now raise an exception.
output.close()

Смотрите еще один пример использования io.StringIO.