summaryrefslogtreecommitdiffstats
path: root/Doc/tutorial
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2013-07-30 19:51:57 (GMT)
committerR David Murray <rdmurray@bitdance.com>2013-07-30 19:51:57 (GMT)
commit1c4e443ea24e34713ae6957c36875cf983824693 (patch)
treeeb9f6ce28be43ea3100fde716b1b9924067bd53d /Doc/tutorial
parent96433f8e34fda64ce607187bda2eca1c2bde0ec3 (diff)
downloadcpython-1c4e443ea24e34713ae6957c36875cf983824693.zip
cpython-1c4e443ea24e34713ae6957c36875cf983824693.tar.gz
cpython-1c4e443ea24e34713ae6957c36875cf983824693.tar.bz2
#16273: Fix tutorial discussion of seek/tell (opaque text-mode values).
Patch by Sijin Joseph.
Diffstat (limited to 'Doc/tutorial')
-rw-r--r--Doc/tutorial/inputoutput.rst13
1 files changed, 9 insertions, 4 deletions
diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst
index 744abab..7daf89b 100644
--- a/Doc/tutorial/inputoutput.rst
+++ b/Doc/tutorial/inputoutput.rst
@@ -322,9 +322,11 @@ first::
>>> f.write(s)
18
-``f.tell()`` returns an integer giving the file object's current position in the
-file, measured in bytes from the beginning of the file. To change the file
-object's position, use ``f.seek(offset, from_what)``. The position is computed
+``f.tell()`` returns an integer giving the file object's current position in the file
+represented as number of bytes from the beginning of the file when in `binary mode` and
+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
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
@@ -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
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
system resources taken up by the open file. After calling ``f.close()``,