summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Doc/lib/libstringio.tex
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libstringio.tex
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libstringio.tex')
-rw-r--r--sys/src/cmd/python/Doc/lib/libstringio.tex121
1 files changed, 121 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libstringio.tex b/sys/src/cmd/python/Doc/lib/libstringio.tex
new file mode 100644
index 000000000..24312518f
--- /dev/null
+++ b/sys/src/cmd/python/Doc/lib/libstringio.tex
@@ -0,0 +1,121 @@
+\section{\module{StringIO} ---
+ Read and write strings as files}
+
+\declaremodule{standard}{StringIO}
+\modulesynopsis{Read and write strings as if they were files.}
+
+
+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 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.
+In both cases, the initial file position starts at zero.
+
+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{} (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
+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. 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}{}
+Free the memory buffer.
+\end{methoddesc}
+
+Example usage:
+
+\begin{verbatim}
+import StringIO
+
+output = StringIO.StringIO()
+output.write('First line.\n')
+print >>output, 'Second line.'
+
+# Retrieve file contents -- this will be
+# 'First line.\nSecond line.\n'
+contents = output.getvalue()
+
+# Close object and discard memory buffer --
+# .getvalue() will now raise an exception.
+output.close()
+\end{verbatim}
+
+
+\section{\module{cStringIO} ---
+ Faster version of \module{StringIO}}
+
+\declaremodule{builtin}{cStringIO}
+\modulesynopsis{Faster version of \module{StringIO}, but not
+ subclassable.}
+\moduleauthor{Jim Fulton}{jim@zope.com}
+\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
+
+The module \module{cStringIO} provides an interface similar to that of
+the \refmodule{StringIO} module. Heavy use of \class{StringIO.StringIO}
+objects can be made more efficient by using the function
+\function{StringIO()} from this module instead.
+
+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.
+
+Another difference from the \refmodule{StringIO} module is that calling
+\function{StringIO()} with a string parameter creates a read-only object.
+Unlike an object created without a string parameter, it does not have
+write methods. These objects are not generally visible. They turn up in
+tracebacks as \class{StringI} and \class{StringO}.
+
+The following data objects are provided as well:
+
+
+\begin{datadesc}{InputType}
+ The type object of the objects created by calling
+ \function{StringIO} with a string parameter.
+\end{datadesc}
+
+\begin{datadesc}{OutputType}
+ The type object of the objects returned by calling
+ \function{StringIO} with no parameters.
+\end{datadesc}
+
+
+There is a C API to the module as well; refer to the module source for
+more information.
+
+Example usage:
+
+\begin{verbatim}
+import cStringIO
+
+output = cStringIO.StringIO()
+output.write('First line.\n')
+print >>output, 'Second line.'
+
+# Retrieve file contents -- this will be
+# 'First line.\nSecond line.\n'
+contents = output.getvalue()
+
+# Close object and discard memory buffer --
+# .getvalue() will now raise an exception.
+output.close()
+\end{verbatim}
+