On 2012-02-11, at 17:44 , Terry Reedy wrote:
On 2/11/2012 5:47 AM, Paul Moore wrote:
On 11 February 2012 00:07, Terry Reedy<tjreedy@udel.edu> wrote:
Nor is there in 3.x.
I view that claim as FUD, at least for many users, and at least until the persons making the claim demonstrate it. In particular, I claim that people who use Python2 knowing nothing of unicode do not need to know much more to do the same things in Python3.
Concrete example, then.
I have a text file, in an unknown encoding (yes, it does happen to me!) but opening in an editor shows it's mainly-ASCII. I want to find all the lines starting with a '*'. The simple
with open('myfile.txt') as f: for line in f: if line.startswith('*'): print(line)
fails with encoding errors. What do I do?
Good example. I believe adding ", encoding='latin-1'" to open() is sufficient.
Why not open the file in binary mode in stead? (and replace `'*'` by `b'*'` in the startswith call)