4 ms·
You're fairly certain, but with Python 3 you can be completely certain. That's the magic of it. Python 2 will allow this to sometimes work, Python 3 will make
by rtpg 10y ago
You're fairly certain, but with Python 3 you can be completely certain. That's the magic of it.
Python 2 will allow this to sometimes work, Python 3 will make sure this never works, because there's a bytes/text mismatch. It's nice to rule out entire classes of bugs like this
from sys import argv
import json
with open(argv[1], 'rb') as f:
json.loads(f.read())
Porting is still difficult. But when we ported from Py2 to Py3, we found a couple issues like this (despite dealing with weird encodings all the time).
- lima 10y agoExactly this. When I ported my stuff to Python 3, I fixed many encoding bugs in the process. You can do this correctly in Python 2, it's just much harder.