Этот бит кода имеет различные проблемы.
Сначала вы назначили класс out вместо экземпляра.Вместо этого попробуйте out = io.StringIO()
.
Во-вторых, если вы не используете Python v3, метод write будет жаловаться, что вы используете acsii вместо unicode.
В-третьих, вы пытаетесь читать послезакрыли это.Как сказал Мартино, StringIO не позволяет получать выходные данные после вызова close.Немного сбивает с толку, если вы пришли из фона Java, где close в соответствующем классе (StringWriter) не имеет никакого эффекта.
Наконец, StringIO выполняет запись в память, а не в файл.Используйте out = open(filename,'w')
, если хотите записать в файл.
Так что, не зная точную ошибку, которую вы получили, это все, что я получил.Публикация полученной ошибки обычно очень полезна.