Python Glossary English

все Python 3ioпонятие

io.StringIO

строки

Файлоподобный объект, хранящий строковые данные в памяти. Удобен для тестирования и буферизации.

Синтаксис

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

Курсор один на чтение и запись: после write() он стоит в конце, поэтому read() вернёт пустую строку, пока не сделаете seek(0) — а забрать всё содержимое независимо от позиции даёт getvalue(). После close() буфер уничтожается и getvalue() бросает ValueError, так что значение нужно снять до выхода из блока with. Хранит только str; для байтов есть io.BytesIO.

Примеры

import io
buf = io.StringIO()
buf.write('hello\n')
buf.write('world')
buf.getvalue() # → 'hello\nworld'
buf.seek(0)
buf.read() # → 'hello\nworld'
s = io.StringIO('line1\nline2')
list(s) # → ['line1\n', 'line2']

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности