gh-107801: Document SEEK_HOLE and SEEK_DATA (#107936)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Antoine Pitrou <antoine@python.org>
This commit is contained in:
Erlend E. Aasland 2023-08-17 16:14:01 +02:00 committed by GitHub
parent 2da67a5789
commit 8a19f225b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1171,6 +1171,10 @@ as internal buffering of data.
current position; :const:`SEEK_END` or ``2`` to set it relative to the end of current position; :const:`SEEK_END` or ``2`` to set it relative to the end of
the file. Return the new cursor position in bytes, starting from the beginning. the file. Return the new cursor position in bytes, starting from the beginning.
.. versionchanged:: 3.3
Add support for :const:`SEEK_HOLE` and :const:`SEEK_DATA`.
.. data:: SEEK_SET .. data:: SEEK_SET
SEEK_CUR SEEK_CUR
@ -1179,9 +1183,30 @@ as internal buffering of data.
Parameters to the :func:`lseek` function. Their values are 0, 1, and 2, Parameters to the :func:`lseek` function. Their values are 0, 1, and 2,
respectively. respectively.
.. data:: SEEK_HOLE
SEEK_DATA
Parameters to the :func:`lseek` function and the :meth:`~io.IOBase.seek`
method on file objects, for seeking file data and holes on sparsely
allocated files.
:data:`!SEEK_DATA`
Adjust the file offset to the next location containing data,
relative to the seek position.
:data:`!SEEK_HOLE`
Adjust the file offset to the next location containing a hole,
relative to the seek position.
A hole is defined as a sequence of zeros.
.. note::
These operations only make sense for filesystems that support them.
.. availability:: Linux >= 3.1, macOS, Unix
.. versionadded:: 3.3 .. versionadded:: 3.3
Some operating systems could support additional values, like
:const:`os.SEEK_HOLE` or :const:`os.SEEK_DATA`.
.. function:: open(path, flags, mode=0o777, *, dir_fd=None) .. function:: open(path, flags, mode=0o777, *, dir_fd=None)