Не существует единой равномерной замены, поскольку сама обработка строк изменилась в Python 3.
Класс для текстовых файлов в памяти в Python 3 - io.StringIO
. Как и другие текстовые файлы, он не поддерживает текущие относительные поиски. В то время как io.StringIO
теоретически может поддерживать эффективные текущие относительные поиски, для согласованности с другими текстовыми файлами (и во избежание ограничения реализации), он отказывается это делать.
Класс для двоичных файлов в памяти в Python 3 - это io.BytesIO
. Есть большая вероятность, что это то, что вы должны использовать (и если это так, то вам, вероятно, следует открывать файлы на диске также в двоичном режиме).
Если вам действительно нужна гибкость Python 2 StringIO.StringIO.seek
При работе с текстовым файлом в памяти в Python 3 лучше всего написать собственный класс.