From cba654cbda3cb55bc81d5cc35d38f89dad478a51 Mon Sep 17 00:00:00 2001 From: cgohlke Date: Sat, 29 Sep 2012 17:00:59 -0700 Subject: [PATCH] Use io.BytesIO instead of StringIO Fixes NameError: global name 'io' is not defined on Python 3 --- skimage/io/_io.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/skimage/io/_io.py b/skimage/io/_io.py index 4ff8cc27..eea7e509 100644 --- a/skimage/io/_io.py +++ b/skimage/io/_io.py @@ -1,14 +1,12 @@ __all__ = ['Image', 'imread', 'imread_collection', 'imsave', 'imshow', 'show', 'push', 'pop'] -from skimage.io._plugins import call as call_plugin -from skimage.color import rgb2grey +from io import BytesIO + import numpy as np -try: - import cStringIO as StringIO -except ImportError: - import StringIO +from skimage.io._plugins import call as call_plugin +from skimage.color import rgb2grey # Shared image queue @@ -49,7 +47,7 @@ class Image(np.ndarray): return self._repr_image_format('jpeg') def _repr_image_format(self, format_str): - str_buffer = StringIO.StringIO() + str_buffer = BytesIO() imsave(str_buffer, self, format_str=format_str) return_str = str_buffer.getvalue() str_buffer.close()