and :meth:`~io.IOBase.truncate`.
Iteration and the :keyword:`with` statement are supported.
- :class:`BZ2File` also provides the following method:
+ :class:`BZ2File` also provides the following methods:
.. method:: peek([n])
.. versionadded:: 3.3
+ .. method:: fileno()
+
+ Return the file descriptor for the underlying file.
+
+ .. versionadded:: 3.3
+
+ .. method:: readable()
+
+ Return whether the file was opened for reading.
+
+ .. versionadded:: 3.3
+
+ .. method:: seekable()
+
+ Return whether the file supports seeking.
+
+ .. versionadded:: 3.3
+
+ .. method:: writable()
+
+ Return whether the file was opened for writing.
+
+ .. versionadded:: 3.3
+
+ .. method:: read1(size=-1)
+
+ Read up to *size* uncompressed bytes, while trying to avoid
+ making multiple reads from the underlying stream. Reads up to a
+ buffer's worth of data if size is negative.
+
+ Returns ``b''`` if the file is at EOF.
+
+ .. versionadded:: 3.3
+
+ .. method:: readinto(b)
+
+ Read bytes into *b*.
+
+ Returns the number of bytes read (0 for EOF).
+
+ .. versionadded:: 3.3
+
.. versionchanged:: 3.1
Support for the :keyword:`with` statement was added.
- .. versionchanged:: 3.3
- The :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:`writable`,
- :meth:`read1` and :meth:`readinto` methods were added.
-
.. versionchanged:: 3.3
Support was added for *filename* being a :term:`file object` instead of an
actual filename.
A memory-mapped file is created by the :class:`~mmap.mmap` constructor, which is
different on Unix and on Windows. In either case you must provide a file
descriptor for a file opened for update. If you wish to map an existing Python
-file object, use its :meth:`fileno` method to obtain the correct value for the
+file object, use its :meth:`~io.IOBase.fileno` method to obtain the correct value for the
*fileno* parameter. Otherwise, you can open the file using the
:func:`os.open` function, which returns a file descriptor directly (the file
still needs to be closed when done).
**Windows**: An item in *object_list* must either be an integer
handle which is waitable (according to the definition used by the
documentation of the Win32 function ``WaitForMultipleObjects()``)
- or it can be an object with a :meth:`fileno` method which returns a
+ or it can be an object with a :meth:`~io.IOBase.fileno` method which returns a
socket handle or pipe handle. (Note that pipe handles and socket
handles are **not** waitable handles.)
concrete implementations (:class:`KqueueSelector`, :class:`EpollSelector`...),
that can be used to wait for I/O readiness notification on multiple file
objects. In the following, "file object" refers to any object with a
-:meth:`fileno()` method, or a raw file descriptor. See :term:`file object`.
+:meth:`~io.IOBase.fileno` method, or a raw file descriptor. See :term:`file object`.
:class:`DefaultSelector` is an alias to the most efficient implementation
available on the current platform: this should be the default choice for most
.. function:: fromfd(fd, family, type, proto=0)
Duplicate the file descriptor *fd* (an integer as returned by a file object's
- :meth:`fileno` method) and build a socket object from the result. Address
+ :meth:`~io.IOBase.fileno` method) and build a socket object from the result. Address
family, socket type and protocol number are as for the :func:`.socket` function
above. The file descriptor should refer to a socket, but this is not checked ---
subsequent operations on the object may fail if the file descriptor is invalid.
This class operates exactly as :func:`TemporaryFile` does, except that
data is spooled in memory until the file size exceeds *max_size*, or
- until the file's :func:`fileno` method is called, at which point the
+ until the file's :func:`~io.IOBase.fileno` method is called, at which point the
contents are written to disk and operation proceeds as with
:func:`TemporaryFile`.
Doc/library/asyncio-task.rst
Doc/library/bdb.rst
Doc/library/bisect.rst
-Doc/library/bz2.rst
Doc/library/calendar.rst
Doc/library/cmd.rst
Doc/library/collections.abc.rst
Doc/library/resource.rst
Doc/library/rlcompleter.rst
Doc/library/select.rst
-Doc/library/selectors.rst
Doc/library/shelve.rst
Doc/library/signal.rst
Doc/library/smtplib.rst
:func:`input` function to allow opening files in binary or :term:`universal
newlines` mode. Another new parameter, *openhook*, lets you use a function
other than :func:`open` to open the input files. Once you're iterating over
- the set of files, the :class:`FileInput` object's new :meth:`fileno` returns
+ the set of files, the :class:`FileInput` object's new :meth:`~fileinput.fileno` returns
the file descriptor for the currently opened file. (Contributed by Georg
Brandl.)