Python3 error: initial_value must be str or None, with StringIO

response.read() returns an instance of bytes while StringIO is an in-memory stream for text only. Use BytesIO instead.

From What’s new in Python 3.0 – Text Vs. Data Instead Of Unicode Vs. 8-bit

The StringIO and cStringIO modules are gone. Instead, import the io module and use io.StringIO or io.BytesIO for text and data respectively.

Leave a Comment