На этом шаге мы рассмотрим назначение и методы этого класса.
Класс StringIO из модуля io позволяет работать со строкой как с файловым объектом. Все операции с этим файловым объектом (будем называть его далее "файл") производятся в оперативной памяти. Формат конструктора класса:
StringIO([<Начальное значение>][, newline=None])
Если первый параметр не указан, то начальным значением будет пустая строка. После создания объекта указатель текущей позиции устанавливается на начало "файла". Объект, возвращаемый конструктором класса, имеет следующие методы:
>>> import io # Подключаем модуль >>> f = io.StringIO("String1\n") >>> f.getvalue () # Получаем содержимое "файла" 'String1\n' >>> f.close () # Закрываем "файл"
Пример использования методов seek() и tell():
>>> f = io.StringIO("String1\n") >>> f.tell() # Позиция указателя 0 >>> f.seek (0, 2) # Перемещаем указатель в конец "файла" 8 >>> f.tell() # Позиция указателя 8 >>> f.seek (0) # Перемещаем указатель в начало "файла" 0 >>> f.tell() # Позиция указателя 0 >>> f.close () # Закрываем файл
>>> f = io.StringIO("String1\n") >>> f.seek (0, 2) # Перемещаем указатель в конец "файла" 8 >>> f.write ("String2\n") # Записываем строку в "файл" 8 >>> f.getvalue() # Получаем содержимое "файла" 'String1\nString2\n' >>> f.close () # Закрываем "файл"
>>> f = io.StringIO() >>> f.writelines ( ["String1\n", "String2\n"] ) >>> f.getvalue() # Получаем содержимое "файла" 'String1\nString2\n' >>> f.close() # Закрываем "файл"
На следующем шаге мы закончим изучение этого вопроса.