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. > In both Pythons, .read() in default mode returns an object of type > str() and 'abc' is an object of type str() and so expressions > involving undecorated string literals and input just work, but would > not work if input defaulted to bytes in Py 3. Sorry if I was not clear > enough. > Well, I think you're both right. Both semantics break some assumption or other. All the best, Michael -- http://www.voidspace.org.uk/ May you do good and not evil May you find forgiveness for yourself and forgive others May you share freely, never taking more than you give. -- the sqlite blessing http://www.sqlite.org/different.html
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4