Kaydet (Commit) 1a3a3b8b authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Merged revisions 82000-82001 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r82000 | antoine.pitrou | 2010-06-15 19:00:21 +0200 (mar., 15 juin 2010) | 3 lines

  Fixes to the PyFile_FromFd() doc, by Renato Cunha.
........
  r82001 | antoine.pitrou | 2010-06-15 19:30:16 +0200 (mar., 15 juin 2010) | 3 lines

  Further refinements to the C file API.
........
üst 0dafd71c
...@@ -7,24 +7,29 @@ File Objects ...@@ -7,24 +7,29 @@ File Objects
.. index:: object: file .. index:: object: file
Python's built-in file objects are implemented entirely on the :ctype:`FILE\*` These APIs are a minimal emulation of the Python 2 C API for built-in file
support from the C standard library. This is an implementation detail and may objects, which used to rely on the buffered I/O (:ctype:`FILE\*`) support
change in future releases of Python. The ``PyFile_`` APIs are a wrapper over from the C standard library. In Python 3, files and streams use the new
the :mod:`io` module. :mod:`io` module, which defines several layers over the low-level unbuffered
I/O of the operating system. The functions described below are
convenience C wrappers over these new APIs, and meant mostly for internal
error reporting in the interpreter; third-party code is advised to access
the :mod:`io` APIs instead.
.. cfunction:: PyFile_FromFd(int fd, char *name, char *mode, int buffering, char *encoding, char *newline, int closefd) .. cfunction:: PyFile_FromFd(int fd, char *name, char *mode, int buffering, char *encoding, char *errors, char *newline, int closefd)
Create a new :ctype:`PyFileObject` from the file descriptor of an already Create a Python file object from the file descriptor of an already
opened file *fd*. The arguments *name*, *encoding* and *newline* can be opened file *fd*. The arguments *name*, *encoding*, *errors* and *newline*
*NULL* to use the defaults; *buffering* can be *-1* to use the default. can be *NULL* to use the defaults; *buffering* can be *-1* to use the
Return *NULL* on failure. default. Return *NULL* on failure. For a more comprehensive description of
the arguments, please refer to the :func:`io.open` function documentation.
.. warning:: .. warning::
Take care when you are mixing streams and descriptors! For more Since Python streams have their own buffering layer, mixing them with
information, see `the GNU C Library docs OS-level file descriptors can produce various issues (such as unexpected
<http://www.gnu.org/software/libc/manual/html_node/Stream_002fDescriptor-Precautions.html#Stream_002fDescriptor-Precautions>`_. ordering of data).
.. cfunction:: int PyObject_AsFileDescriptor(PyObject *p) .. cfunction:: int PyObject_AsFileDescriptor(PyObject *p)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment