4 ms·
> Or, alternatively, "How many Python 2 scripts will run on a Python 3 interpreter?" Answer: "None of them." That's obviously untrue. For example, consider the
by cesarb 6y ago
> Or, alternatively, "How many Python 2 scripts will run on a Python 3 interpreter?" Answer: "None of them."
That's obviously untrue. For example, consider the following Python 2 script:
with open('a.txt', 'r') as a, open('b.txt', 'w') as b:
for line in a:
b.write(line)
It works identically on a Python 3 interpreter, and it doesn't even use "from __future__ import ...".
- downerending 6y agoYes, I should have said, "a vanishingly small proportion, and even then mostly by accident". My guess is that if you sweep GitHub for Python2 code and push it into Python3, that proportion would be under one percent.
- mixmastamyk 6y agoAs a big user of logging and little to do with character coding, all of my admin/daemon stuff moved over with almost no changes necessary for 3.0 (actually ~3.3). For some projects I did bigger refactors for 2.6/7 (exceptions) and 3.6 (fstrings).
- tuco86 6y agohow will that number look when you first autoconvert via 2to3? I did two migrations of >500k loc projects in an afternoon each, and admittedly some days of testing to gain confidence since there where few unit test. But i found it to be very smooth sailing. I was very familiar with both projects, so that helped a lot. EDIT: I also want to add that i did this using python3.5, when to ecosystem seemed to be at a sweet spot of dependencies supporting both 2 and 3 mostly. I guess if one has been waiting until now, the divide between library versions will be a lot bigger.
- a1369209993 6y agoFair point, but: int main(int c,char** v) { printf("Hello, World!\n"); return 0; } doesn't make C++ the same language as C.
- romanvm 6y agoNot quite. If your a.txt contains utf-8 byte blocks you are screwed in Python 2.