python - 在 python3 中相对寻找 io.StringIO

标签 python python-3.x stringio

我正在尝试重构一个用于 python-3.x 的 python 2 包。该包在 python 2 下使用 StringIO.StringIO 并使用对象的相对搜索方法,使用 flob.seek(-1, 1) 等语句。不幸的是,python 3中对应的io.StringIO对象的seek方法不支持相对查找,所以代码引发

OSError: Can't do nonzero cur-relative seeks

尝试执行该语句时。

重构包含这些调用的模块的最佳方法是什么,如果我希望能够继续使用它出现在文件对象和(派生自)字符串中的函数?

最佳答案

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

关于python - 在 python3 中相对寻找 io.StringIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19981996/

相关文章:

Python:模拟写入文件对象而不创建文件

python-3.x - 如何在 Python3 中将字符串添加到 tarfile

python - 如何检查是否有人更改了实体数据

python - 我的脚本在单击链接时遇到错误

python-3.x - 如何获取pypi中的包总数?

python - "banana"< "orange"为真,"banana"< "Orange"为假,但为什么呢?

python - 是 "shadows name from outer scopes an error"吗?

python - 如何解决 ssl.socket 问题

python - 根据列值而不是索引值从 Pandas 数据框中排除行

python - 从 cStringIO 对象创建 Python array.array 对象