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.