什么统一取代了 Python3 中 Python2 的 StringIO?



文档表明BytesIO是新的StringIO,因为它支持电流相对寻道

但是,这是不正确的

BytesIO不能与TextIOWrappers统一使用,因为它们是由open()调用返回的。前者返回字节,后者在读取时返回文本对象。

TextIOWrapper(BytesIO(...))也不允许按预期工作,因为同样,它不支持相对搜索。

那么替换 python3 中的 python2StringIO的最佳结构是什么?

没有单一的统一替代品,因为字符串处理本身在 Python 3 中发生了变化。

Python 3 中内存文本文件的类是io.StringIO。与其他文本文件一样,它不支持当前相对搜索。虽然io.StringIO理论上可以支持有效的电流相对搜索,但为了与其他文本文件的一致性(并避免限制实现(,它拒绝这样做。

Python 3 中内存二进制文件的类是io.BytesIO。很有可能这是您应该使用的(如果是,那么您可能也应该以二进制模式打开磁盘文件(。

如果你真的需要 Python 2 在 Python 3 中使用内存文本文件进行StringIO.StringIO.seek处理的灵活性,你最好的选择可能是编写自己的类。

相关内容

  • 没有找到相关文章

最新更新