[Python-ideas] Python 3000 TIOBE -3%

Masklinn masklinn at masklinn.net
Sat Feb 11 13:41:19 CET 2012


On 2012-02-11, at 13:33 , Stefan Behnel wrote:

> Paul Moore, 11.02.2012 11:47:
>> On 11 February 2012 00:07, Terry Reedy 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? Short answer, grumble and go
>> and use grep (or in more complex cases, awk) :-(
> 
> Or just use the ISO-8859-1 encoding.

It's true that requires to handle encodings upfront where Python 2 allowed you
to play fast-and-lose though.

And using latin-1 in that context looks and feels weird/icky, the file is not
encoded using latin-1, the encoding just happens to work to manipulate bytes as
ascii text + non-ascii stuff.


More information about the Python-ideas mailing list