diff options
author | Benjamin Peterson <benjamin@python.org> | 2008-04-19 19:34:05 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2008-04-19 19:34:05 (GMT) |
commit | 53be57e8f894a40e8eaf1f7d0a6c3e0ff806ebb2 (patch) | |
tree | 41cb21a3e96c1da60924974111f338beeb9aff17 /Doc/library/io.rst | |
parent | e941d97d123377c9e2c9f4cfec2e9827df0467c4 (diff) | |
download | cpython-53be57e8f894a40e8eaf1f7d0a6c3e0ff806ebb2.zip cpython-53be57e8f894a40e8eaf1f7d0a6c3e0ff806ebb2.tar.gz cpython-53be57e8f894a40e8eaf1f7d0a6c3e0ff806ebb2.tar.bz2 |
Copy io documentation back from py3k branch so changes can be merged into it.
Diffstat (limited to 'Doc/library/io.rst')
-rw-r--r-- | Doc/library/io.rst | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/Doc/library/io.rst b/Doc/library/io.rst index 192ce90..2e23653 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -34,7 +34,7 @@ a buffered text interface to a buffered raw stream (:class:`BufferedIOBase`). Finally, :class:`StringIO` is a in-memory stream for text. Argument names are not part of the specification, and only the arguments of -:func:`open()` are intended to be used as keyword arguments. +:func:`open` are intended to be used as keyword arguments. Module Interface @@ -43,7 +43,7 @@ Module Interface .. data:: DEFAULT_BUFFER_SIZE An int containing the default buffer size used by the module's buffered I/O - classes. :func:`open()` uses the file's blksize (as obtained by + classes. :func:`open` uses the file's blksize (as obtained by :func:`os.stat`) if possible. .. function:: open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]]) @@ -101,13 +101,14 @@ Module Interface dependent, but any encoding supported by Python can be passed. See the :mod:`codecs` module for the list of supported encodings. - *errors* is an optional string that specifies how encoding errors are to be - handled---this argument should not be used in binary mode. Pass ``'strict'`` - to raise a :exc:`ValueError` exception if there is an encoding error (the - default of ``None`` has the same effect), or pass ``'ignore'`` to ignore - errors. (Note that ignoring encoding errors can lead to data loss.) See the - documentation for :func:`codecs.register` for a list of the permitted - encoding error strings. + *errors* is an optional string that specifies how encoding and decoding + errors are to be handled---this argument should not be used in binary mode. + Pass ``'strict'`` to raise a :exc:`ValueError` exception if there is an + encoding error (the default of ``None`` has the same effect), or pass + ``'ignore'`` to ignore errors. (Note that ignoring encoding errors can lead + to data loss.) ``'replace'`` causes a replacement marker (such as ``'?'``) + to be inserted where there is malformed data. For all possible values, see + :func:`codecs.register`. *newline* controls how universal newlines works (it only applies to text mode). It can be ``None``, ``''``, ``'\n'``, ``'\r'``, and ``'\r\n'``. It @@ -131,15 +132,14 @@ Module Interface when the file is closed. This does not work when a file name is given and must be ``True`` in that case. - :func:`open()` returns a file object whose type depends on the mode, and + :func:`open` returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are - performed. When :func:`open()` is used to open a file in a text mode - (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, etc.), it returns a - :class:`TextIOWrapper`. When used to open a file in a binary mode, the - returned class varies: in read binary mode, it returns a - :class:`BufferedReader`; in write binary and append binary modes, it returns - a :class:`BufferedWriter`, and in read/write mode, it returns a - :class:`BufferedRandom`. + performed. When :func:`open` is used to open a file in a text mode (``'w'``, + ``'r'``, ``'wt'``, ``'rt'``, etc.), it returns a :class:`TextIOWrapper`. + When used to open a file in a binary mode, the returned class varies: in read + binary mode, it returns a :class:`BufferedReader`; in write binary and append + binary modes, it returns a :class:`BufferedWriter`, and in read/write mode, + it returns a :class:`BufferedRandom`. It is also possible to use a string or bytearray as a file for both reading and writing. For strings :class:`StringIO` can be used like a file opened in @@ -221,8 +221,8 @@ I/O Base Classes .. method:: flush() - Flush the write buffers of the stream if applicable. This is not - implemented for read-only and non-blocking streams. + Flush the write buffers of the stream if applicable. This does nothing + for read-only and non-blocking streams. .. method:: isatty() @@ -239,7 +239,7 @@ I/O Base Classes *limit* bytes will be read. The line terminator is always ``b'\n'`` for binary files; for text files, - the *newlines* argument to :func:`.open()` can be used to select the line + the *newlines* argument to :func:`open` can be used to select the line terminator(s) recognized. .. method:: readlines([hint]) @@ -438,17 +438,17 @@ Buffered Streams .. method:: read1() - In :class:`BytesIO`, this is the same as :meth:`read()`. + In :class:`BytesIO`, this is the same as :meth:`read`. .. method:: truncate([pos]) Truncate the file to at most *pos* bytes. *pos* defaults to the current - stream position, as returned by :meth:`tell()`. + stream position, as returned by :meth:`tell`. .. class:: BufferedReader(raw[, buffer_size]) - A buffer for a readable, sequential :class:`BaseRawIO` object. It inherits + A buffer for a readable, sequential :class:`RawIOBase` object. It inherits :class:`BufferedIOBase`. The constructor creates a :class:`BufferedReader` for the given readable @@ -577,8 +577,13 @@ Text I/O *encoding* gives the name of the encoding that the stream will be decoded or encoded with. It defaults to :func:`locale.getpreferredencoding`. - *errors* determines the strictness of encoding and decoding (see the errors - argument of :func:`codecs.register`) and defaults to ``'strict'``. + *errors* is an optional string that specifies how encoding and decoding + errors are to be handled. Pass ``'strict'`` to raise a :exc:`ValueError` + exception if there is an encoding error (the default of ``None`` has the same + effect), or pass ``'ignore'`` to ignore errors. (Note that ignoring encoding + errors can lead to data loss.) ``'replace'`` causes a replacement marker + (such as ``'?'``) to be inserted where there is malformed data. For all + possible values see :func:`codecs.register`. *newline* can be ``None``, ``''``, ``'\n'``, ``'\r'``, or ``'\r\n'``. It controls the handling of line endings. If it is ``None``, universal newlines |