从输入流加载图像到Python
我正在使用Python图像库进行一些处理,我想通过管道给我的脚本输入数据,而不是像往常那样传递一个文件名。
我发现Image.open
可以接受任何类似文件的对象,而不仅仅是字符串作为参数。我试着直接传递sys.stdin
,但似乎在seek
操作上遇到了一些问题(从逻辑上讲)。
那么,我该如何将这个流包装成一个可以提供所有文件操作的缓冲区呢?(或者有没有其他合适的解决方案,可以直接从stdin
读取图像)。
1 个回答
3
使用 StringIO
。
import StringIO
import sys
filelike = StringIO.StringIO(sys.stdin.read())
# Now use `filelike` as a regular open file, e.g.:
filelike.seek(2)
print filelike.read()