This is a static archive of the Python wiki, which was retired in February 2026 due to lack of usage and the resources necessary to serve it — predominately to bots, crawlers, and LLM companies.
Pages are preserved as they were at the time of archival. For current information, please visit python.org.
If a change to this archive is absolutely needed, requests can be made via the infrastructure@python.org mailing list.

As of Python2.5, StreamWriter wraps (contains) a stream. It defines write and other respective methods to "encode" the data and pass the result to the stream. It exposes all other methods of the stream instance.

Pseudocode of the codecs.StreamWriter definition:

   1 class StreamWriter(Codec):
   2     def __init__(self, stream):
   3         ....
   4 
   5     def write(self, data):
   6         return stream.write(self.encode(data))

The encode method normally converts values of type unicode to strs.

Codec modules will attach the encode method to the class definition derived from StreamWriter during the initialization. An excerpt from encodings.utf_8.StreamWriter:

   1 class StreamWriter(codecs.StreamWriter):
   2     encode = codecs.utf_8_encode


See also: StreamReader, StreamReaderWriter, StreamRecoder.


CategoryUnicode


2026-02-14 16:13