Помимо очевидного (один тип, другой класс)? Что должно быть предпочтительным? Возможна ли какая-либо заметная разница в случаях использования?
В чем разница между StringIO и io.StringIO в Python2.7?
Ответ 1
http://docs.python.org/library/io.html#io.StringIO
http://docs.python.org/library/stringio.html
Я вижу это.
Поток в памяти для текста в Юникоде. Он наследует TextIOWrapper.
Этот модуль реализует файловый класс StringIO, который читает и записывает строковый буфер (также известный как файлы памяти).
io.StringIO - это класс. Он обрабатывает Unicode. Он отражает предпочтительную библиотечную структуру Python 3.
StringIO.StringIO - класс. Он обрабатывает строки. Он отражает устаревшую библиотечную структуру Python 2.
Что должно быть предпочтительным?
Всегда двигайтесь вперед к новой организации библиотеки. io.open следует использовать для замены встроенного Unicode-unaware open.
Вперед. Двигайтесь вперед.