diff options
author | Ezio Melotti <ezio.melotti@gmail.com> | 2016-01-12 09:27:30 (GMT) |
---|---|---|
committer | Ezio Melotti <ezio.melotti@gmail.com> | 2016-01-12 09:27:30 (GMT) |
commit | 397bb2486a50103ce4bea1cc1f60c78c93dbc56f (patch) | |
tree | cb3b536ca2a389e836f72aada56dd580f0a0b200 | |
parent | f418db2e8cb21638448acbea0ce1d5bbfd0d903e (diff) | |
download | cpython-397bb2486a50103ce4bea1cc1f60c78c93dbc56f.zip cpython-397bb2486a50103ce4bea1cc1f60c78c93dbc56f.tar.gz cpython-397bb2486a50103ce4bea1cc1f60c78c93dbc56f.tar.bz2 |
#26001: mention in the tutorial that files in binary mode expect bytes, not str.
-rw-r--r-- | Doc/tutorial/inputoutput.rst | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst index c157f22..5314fed 100644 --- a/Doc/tutorial/inputoutput.rst +++ b/Doc/tutorial/inputoutput.rst @@ -271,10 +271,11 @@ The rest of the examples in this section will assume that a file object called ``f`` has already been created. To read a file's contents, call ``f.read(size)``, which reads some quantity of -data and returns it as a string or bytes object. *size* is an optional numeric -argument. When *size* is omitted or negative, the entire contents of the file -will be read and returned; it's your problem if the file is twice as large as -your machine's memory. Otherwise, at most *size* bytes are read and returned. +data and returns it as a string (in text mode) or bytes object (in binary mode). +*size* is an optional numeric argument. When *size* is omitted or negative, the +entire contents of the file will be read and returned; it's your problem if the +file is twice as large as your machine's memory. Otherwise, at most *size* bytes +are read and returned. If the end of the file has been reached, ``f.read()`` will return an empty string (``''``). :: @@ -315,11 +316,11 @@ the number of characters written. :: >>> f.write('This is a test\n') 15 -To write something other than a string, it needs to be converted to a string -first:: +Other types of objects need to be converted -- either to a string (in text mode) +or a bytes object (in binary mode) -- before writing them:: >>> value = ('the answer', 42) - >>> s = str(value) + >>> s = str(value) # convert the tuple to string >>> f.write(s) 18 |