io.StringIO

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

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

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

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

StringIO предоставляет этот метод в дополнение к методам TextIOBase и его родителей:

  • getvalue () - метод возвращает строку, содержащую все содержимое буфера

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

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()

Last updated