.. versionadded:: 3.11
-.. function:: lseek(fd, pos, how, /)
+.. function:: lseek(fd, pos, whence, /)
Set the current position of file descriptor *fd* to position *pos*, modified
- by *how*: :const:`SEEK_SET` or ``0`` to set the position relative to the
- beginning of the file; :const:`SEEK_CUR` or ``1`` to set it relative to the
- 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.
+ by *whence*, and return the new position in bytes relative to
+ the start of the file.
+ Valid values for *whence* are:
+
+ * :const:`SEEK_SET` or ``0`` -- set *pos* relative to the beginning of the file
+ * :const:`SEEK_CUR` or ``1`` -- set *pos* relative to the current file position
+ * :const:`SEEK_END` or ``2`` -- set *pos* relative to the end of the file
+ * :const:`SEEK_HOLE` -- set *pos* to the next data location, relative to *pos*
+ * :const:`SEEK_DATA` -- set *pos* to the next data hole, relative to *pos*
.. versionchanged:: 3.3
- Add support for :const:`SEEK_HOLE` and :const:`SEEK_DATA`.
+ Add support for :const:`!SEEK_HOLE` and :const:`!SEEK_DATA`.
.. data:: SEEK_SET
#endif /* defined(HAVE_LOCKF) */
PyDoc_STRVAR(os_lseek__doc__,
-"lseek($module, fd, position, how, /)\n"
+"lseek($module, fd, position, whence, /)\n"
"--\n"
"\n"
"Set the position of a file descriptor. Return the new position.\n"
"\n"
-"Return the new cursor position in number of bytes\n"
-"relative to the beginning of the file.");
+" fd\n"
+" An open file descriptor, as returned by os.open().\n"
+" position\n"
+" Position, interpreted relative to \'whence\'.\n"
+" whence\n"
+" The relative position to seek from. Valid values are:\n"
+" - SEEK_SET: seek from the start of the file.\n"
+" - SEEK_CUR: seek from the current file position.\n"
+" - SEEK_END: seek from the end of the file.\n"
+"\n"
+"The return value is the number of bytes relative to the beginning of the file.");
#define OS_LSEEK_METHODDEF \
{"lseek", _PyCFunction_CAST(os_lseek), METH_FASTCALL, os_lseek__doc__},
#ifndef OS_WAITSTATUS_TO_EXITCODE_METHODDEF
#define OS_WAITSTATUS_TO_EXITCODE_METHODDEF
#endif /* !defined(OS_WAITSTATUS_TO_EXITCODE_METHODDEF) */
-/*[clinic end generated code: output=a85a386b212b0631 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=9a5f78bb65470528 input=a9049054013a1b77]*/
os.lseek -> Py_off_t
fd: int
+ An open file descriptor, as returned by os.open().
position: Py_off_t
- how: int
+ Position, interpreted relative to 'whence'.
+ whence as how: int
+ The relative position to seek from. Valid values are:
+ - SEEK_SET: seek from the start of the file.
+ - SEEK_CUR: seek from the current file position.
+ - SEEK_END: seek from the end of the file.
/
Set the position of a file descriptor. Return the new position.
-Return the new cursor position in number of bytes
-relative to the beginning of the file.
+The return value is the number of bytes relative to the beginning of the file.
[clinic start generated code]*/
static Py_off_t
os_lseek_impl(PyObject *module, int fd, Py_off_t position, int how)
-/*[clinic end generated code: output=971e1efb6b30bd2f input=902654ad3f96a6d3]*/
+/*[clinic end generated code: output=971e1efb6b30bd2f input=f096e754c5367504]*/
{
Py_off_t result;