BytesIO 与 python v2.5
问题:
如何获得类似于 Python 2.5 的 StringIO 的字节流?
应用程序:
我正在将 PDF 转换为文本,但不想将文件保存到硬盘。
其他想法:
我想我可以使用 StringIO,但是没有模式参数(我猜“String”意味着文本模式)。
显然 io.BytesIO 类是 v2.6 中的新类,所以这对我来说也不起作用。
我有一个使用临时文件模块的解决方案,但我想避免对硬盘进行任何读/写操作。
Question:
How do I get a byte stream that works like StringIO for Python 2.5?
Application:
I'm converting a PDF to text, but don't want to save a file to the hard disk.
Other Thoughts:
I figured I could use StringIO, but there's no mode parameter (I guess "String" implies text mode).
Apparently the io.BytesIO class is new in v2.6, so that doesn't work for me either.
I've got a solution with the tempfile module, but I'd like to avoid any reads/writes to/from the hard disk.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在Python 2.x中,“string”表示“字节”,“unicode”表示“字符串”。 您应该使用
StringIO
或cStringIO
模块。 该模式取决于您作为缓冲区参数传入的数据类型。In Python 2.x, "string" means "bytes", and "unicode" means "string". You should use the
StringIO
orcStringIO
modules. The mode will depend on which kind of data you pass in as the buffer parameter.如果您正在使用 PDF,那么只要您留意文档,
StringIO
就应该没问题:请注意,对于
cStringIO
来说,这是不的情况:请参阅完整文档:
If you're working with PDF, then
StringIO
should be fine as long as you pay heed to the docs:Note this is not true for
cStringIO
:See the full documentation at: