StringIO

у былMutableString класс устарел в Python 2.6;
и почему он был удален в Python 3?

 Anon.10 янв. 2011 г., 21:51
«Основное намерение этого класса - служить образовательным примером для наследования ...»
 Thomas Owens17 сент. 2011 г., 00:31
Защищено, так как я только что связался с этим на Meta в отношении другого обсуждения. Сохранение, как первоначально просили.

Ответы на вопрос(2)

Решение Вопроса

MutableString Класс должен был быть образовательным, а не использоваться в реальных программах. Если вы посмотрите на реализацию, вы увидите, что вы не можете использовать это в серьезном приложении, требующем изменяемых строк.

Если вам нужны изменяемые строки, вы можете использоватьbytearray это доступно в Python 2.6 и 3.x. Реализация не создает новые строки каждый раз, когда вы изменяете старую, поэтому она намного быстрее и удобнее в использовании. Он также поддерживает буферный протокол должным образом, поэтому его можно использовать вместо обычной строки байтов практически везде.

Если вы на самом деле не собираетесь делать много модификаций одной строки по индексу, изменение нормальной строки путем создания новой должно вам подойти (например, черезstr.replace, str.format а такжеre.sub).

Там нет изменяемых строк Unicode, потому что это считается необычным приложением, но вы всегда можете реализовать__unicode__ (или же__str__ для Python 3) иencode методы на ваш собственный тип последовательности для эмуляции.

потому что строки не должны быть изменяемыми. В конце концов, основная цель была «образовательной». Если вам нужно изменить строки, используйте список строк илиStringIO.

Ваш ответ на вопрос