[Python-Dev] open(): set the default encoding to 'utf-8' in Python 3.3? (original) (raw)

Ethan Furman ethan at stoneleaf.us
Tue Jun 28 20:55:02 CEST 2011


Michael Foord wrote:

On 28/06/2011 17:34, Terry Reedy wrote:

On 6/28/2011 10:48 AM, Michael Foord wrote:

On 28/06/2011 15:36, Terry Reedy wrote:

S = open('myfile.txt').read() now return a text string in both Py2 and Py3 and a subsequent 'abc' in S works in both. Nope, it returns a bytestring in Python 2. Which, in Py2 is a str() object. Yes, but not a "text string". The equivalent of the Python 2 str in Python 3 is bytes. Irrelevant discussion anyway.

Irrelevant to the OP, yes, but a Python 2 string is not the same as Python 3 bytes. If you don't believe me fire up your Python 3 shell and try b'xyz'[1] == 'y'.

Ethan



More information about the Python-Dev mailing list