Помимо очевидного (каждый - тип, другой класс)? Что должно быть предпочтено? Какие-либо заметные различия используемые случаи, возможно?
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
следует использовать для замены встроенного open
, не знающего Unicode.
Вперед. Двигайтесь вперед.