use six.StringIO