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. (And from your response elsewhere to Stephen, you seem to know that.) This should be in the tutorial if not already. But in reference to what I wrote above, knowing that magic phrase is not 'knowledge of unicode'. And I include it in the 'not much more knowledge' needed for Python 3. -- Terry Jan Reedy