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

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

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

Синтаксис:

import io

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

Описание:

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

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

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

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

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

StringIO.getvalue():

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

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

import io

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

# Извлекает содержимое файла 'First line.\nSecond line.\n'
contents = output.getvalue()

# Закрытие объекта и сброс буфера памяти
# Теперь `output.getvalue()` вызовет исключение.
output.close()

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