mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Added information on the use of Unicode with the StringIO and cStringIO
modules, otherwise the behavior is just plain confusing.
This commit is contained in:
parent
0a0ef8696b
commit
83ff4af1a3
1 changed files with 14 additions and 2 deletions
|
|
@ -7,13 +7,19 @@
|
|||
|
||||
This module implements a file-like class, \class{StringIO},
|
||||
that reads and writes a string buffer (also known as \emph{memory
|
||||
files}). See the description on file objects for operations (section
|
||||
files}). See the description of file objects for operations (section
|
||||
\ref{bltin-file-objects}).
|
||||
|
||||
\begin{classdesc}{StringIO}{\optional{buffer}}
|
||||
When a \class{StringIO} object is created, it can be initialized
|
||||
to an existing string by passing the string to the constructor.
|
||||
If no string is given, the \class{StringIO} will start empty.
|
||||
|
||||
The \class{StringIO} object can accept either Unicode or 8-bit
|
||||
strings, but mixing the two may take some care. If both are used,
|
||||
8-bit strings that cannot be interpreted as 7-bit \ASCII{} (i.e., that
|
||||
use the 8th bit) will cause a \exception{UnicodeError} to be raised
|
||||
when \method{getvalue()} is called.
|
||||
\end{classdesc}
|
||||
|
||||
The following methods of \class{StringIO} objects require special
|
||||
|
|
@ -21,7 +27,9 @@ mention:
|
|||
|
||||
\begin{methoddesc}{getvalue}{}
|
||||
Retrieve the entire contents of the ``file'' at any time before the
|
||||
\class{StringIO} object's \method{close()} method is called.
|
||||
\class{StringIO} object's \method{close()} method is called. See the
|
||||
note above for information about mixing Unicode and 8-bit strings;
|
||||
such mixing can cause this method to raise \exception{UnicodeError}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}{close}{}
|
||||
|
|
@ -47,6 +55,10 @@ Since this module provides a factory function which returns objects of
|
|||
built-in types, there's no way to build your own version using
|
||||
subclassing. Use the original \refmodule{StringIO} module in that case.
|
||||
|
||||
Unlike the memory files implemented by the \refmodule{StringIO}
|
||||
module, those provided by this module are not able to accept Unicode
|
||||
strings that cannot be encoded as plain \ASCII{} strings.
|
||||
|
||||
The following data objects are provided as well:
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue