包装二进制IO

时间:2013-05-27 21:36:51

标签: python stream lazy-evaluation

我最初在IRC上问这个问题,但实际上在那里得到答案可能是最糟糕的问题:

  

如何在不将整个缓冲区读入内存,对其进行操作以及从结果中创建新缓冲区的情况下包装二进制流/缓冲区?

具体来说,我说的是原始流是内存中的io.BytesIO对象,或open的结果,并设置了b(二进制)标记。

我当前的应用程序是在每个通过HTTP发送之前调整块中的图像(这显然超出了本问题的范围),但我通常也对如何处理更改行为的问题感兴趣一个没有破坏其界面的缓冲区。

1 个答案:

答案 0 :(得分:0)

BufferedStream将包装原始IO流,然后可以根据需要通过resize函数读取:

http://docs.python.org/2/library/io.html#buffered-streams