Я пытаюсь реорганизовать пакет python 2 для использования с python-3.x. Пакет использует StringIO.StringIO
в python 2 и в некоторой степени использует метод относительного поиска объекта с такими операторами, как flob.seek(-1, 1)
. К сожалению, метод seek
соответствующего объекта io.StringIO
в Python 3 не поддерживает относительный поиск, поэтому код вызывает
OSError: Can't do nonzero cur-relative seeks
при попытке выполнить этот оператор.
Каков наилучший способ рефакторинга модулей, содержащих эти вызовы, учитывая, что я хотел бы иметь возможность продолжать использовать функции, в которых они появляются, для файловых объектов, а также (объектов, полученных из) строк?