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

Пример использования io.StringIO()

Пример работы с текстом в памяти

Класс io.StringIO предоставляет удобный способ работы с текстом в памяти с помощью файлового API, методов read(), write() и т. д.

Использование StringIO для создания больших строк может в некоторых случаях снизить производительность по сравнению с другими методами конкатенации строк. Потоковые буферы в памяти также полезны для тестирования, когда запись в реальный файл на диске может замедлить набор тестов.

Стандартный пример использования StringIO:

import io

# Запись в буфер
output = io.StringIO()
output.write('This goes into the buffer. ')
print('And so does this.', file=output)

# Получение записанного 
print(output.getvalue())
# This goes into the buffer. And so does this.


# сбросить буфер памяти
output.close()  

# Инициализация буфера чтения
input = io.StringIO('Inital value for read buffer')

# Считывание из буфера
print(input.read())
# Inital value for read buffer

В этом примере используется метод input.read(), но так же доступны методы readline() и readlines(). Класс io.StringIO также предоставляет метод seek(), который может быть полезен для перемещения указателя по тексту.