我正在尝试重构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
尝试执行该语句时。
重构包含这些调用的模块的最佳方法是什么,因为我希望能够继续使用此文件对象以及(从中派生的对象)出现的函数?
答案 0 :(得分:9)
因为strings in Python 2 are renamed bytes in Python 3,代码应该在Python 3中使用io.BytesIO
,它支持相对搜索。