> For the complete documentation index, see [llms.txt](https://treasuremaster.gitbook.io/python-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://treasuremaster.gitbook.io/python-docs/moduli-standartnoi-biblioteki-1/obshie-sluzhby-operacionnoi-sistemy/io/io.stringio.md).

# io.StringIO

#### class io.StringIO ( *initial\_value=''*, *newline='\n'*  )

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

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

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

**StringIO** предоставляет этот метод в дополнение к методам [TextIOBase](https://treasuremaster.gitbook.io/python-docs/obshie-sluzhby-operacionnoi-sistemy/io/io.textiobase) и его родителей:

* [getvalue ()](https://treasuremaster.gitbook.io/python-docs/obshie-sluzhby-operacionnoi-sistemy/io/io.stringio/io.stringio.getvalue) - метод возвращает строку, содержащую все содержимое буфера

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

```python
import io

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

# Получить содержимое файла -- это будет
# 'First line.\nSecond line.\n'
contents = output.getvalue()

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