What makes parsing a text file in 'r' mode more convenient than parsing it in 'rb' mode?
Especially when the text file in question may contain non-ASCII characters.
This depends a little bit on what version of Python you're using. In Python 2, Chris Drappier's answer applies.
In Python 3, its a different (and more consistent) story: in text mode (
'r'), Python will parse the file according to the text encoding you give it (or, if you don't give one, a platform-dependent default), and
read() will give you a
str. In binary (
'rb') mode, Python does not assume that the file contains things that can reasonably be parsed as characters, and
read() gives you a
Also, in Python 3, the universal newlines (the translating between
'\n' and platform-specific newline conventions so you don't have to care about them) is available for text-mode files on any platform, not just Windows.