Merge: #16273: Fix tutorial discussion of seek/tell (opaque text-mode values).

This commit is contained in:
R David Murray 2013-07-30 15:53:30 -04:00
commit bc47d7bb4f
1 changed files with 9 additions and 4 deletions

View File

@ -322,9 +322,11 @@ first::
>>> f.write(s) >>> f.write(s)
18 18
``f.tell()`` returns an integer giving the file object's current position in the ``f.tell()`` returns an integer giving the file object's current position in the file
file, measured in bytes from the beginning of the file. To change the file represented as number of bytes from the beginning of the file when in `binary mode` and
object's position, use ``f.seek(offset, from_what)``. The position is computed an opaque number when in `text mode`.
To change the file object's position, use ``f.seek(offset, from_what)``. The position is computed
from adding *offset* to a reference point; the reference point is selected by from adding *offset* to a reference point; the reference point is selected by
the *from_what* argument. A *from_what* value of 0 measures from the beginning the *from_what* argument. A *from_what* value of 0 measures from the beginning
of the file, 1 uses the current file position, and 2 uses the end of the file as of the file, 1 uses the current file position, and 2 uses the end of the file as
@ -345,7 +347,10 @@ beginning of the file as the reference point. ::
In text files (those opened without a ``b`` in the mode string), only seeks In text files (those opened without a ``b`` in the mode string), only seeks
relative to the beginning of the file are allowed (the exception being seeking relative to the beginning of the file are allowed (the exception being seeking
to the very file end with ``seek(0, 2)``). to the very file end with ``seek(0, 2)``) and the only valid *offset* values are
those returned from the ``f.tell()``, or zero. Any other *offset* value produces
undefined behaviour.
When you're done with a file, call ``f.close()`` to close it and free up any When you're done with a file, call ``f.close()`` to close it and free up any
system resources taken up by the open file. After calling ``f.close()``, system resources taken up by the open file. After calling ``f.close()``,