StringIO - это класс из Python io модуля в стандартной библиотеке. По сути, объект StringIO ведет себя как файловый объект Python, который не хранится на диске, но хранится в памяти.
Давайте рассмотрим простой пример:
f = io.StringIO("Some initial\ntext data.")
Если вы распечатаете его, вы получаете результат, похожий на ваш:
print(f)
>> <_io.StringIO object at 0x7f4530264a68>
Как с этим бороться? Ну, практически все, что вы можете сделать с файловым объектом, вы можете сделать с объектом StringIO. Например, чтобы получить список всех строк в f:
content = f.readlines()
print(content)
>> ['Some initial\n', 'text data.']
И получить одну строку, содержащую все содержимое:
print(''.join(content))
>> 'Some initial
text data.'
Обратите внимание, что вызовы readlines можно выполнить только один раз - как и в случае с файлами. Второй вызов readlines вернет пустой список.