相对寻找python3中的io.StringIO

时间:2013-11-14 15:44:11

标签: python python-3.x stringio

我正在尝试重构python 2包以与python-3.x一起使用。该包使用python 2下的StringIO.StringIO并使用对象的相对搜索方法,使用flob.seek(-1, 1)之类的语句。不幸的是,python 3中相应seek对象的io.StringIO方法不支持相对搜索,因此代码提升

OSError: Can't do nonzero cur-relative seeks

尝试执行该语句时。

重构包含这些调用的模块的最佳方法是什么,因为我希望能够继续使用此文件对象以及(从中派生的对象)出现的函数?

1 个答案:

答案 0 :(得分:9)

因为strings in Python 2 are renamed bytes in Python 3,代码应该在Python 3中使用io.BytesIO,它支持相对搜索。