Napisałem czysty moduł Pythona dla Pythona 3.0/3.1, który chciałbym również uczynić kompatybilnym z 2.x (prawdopodobnie tylko 2.6/2.7), aby udostępnić ją jak najszerszemu gronu odbiorców.Pisanie modułu dla Pythona 2.x i 3.x
Moduł zajmuje się odczytywaniem i zapisywaniem zestawu powiązanych formatów plików, więc różnice między wersjami 2.x i 3.x byłyby niewielkie - np. io.BytesIO
zamiast StringIO.StringIO
- ale nie wszystkie z nich można łatwo obsługiwać za pomocą bloków try/except, takich jak ustawianie metaclasses.
Jaki jest prawidłowy sposób obsługi tego? Dwie prawie identyczne bazy kodów, które muszą być zsynchronizowane lub jedna baza kodów rozproszona z wykrywaniem cech? Pojedyncza, czysta baza kodów plus 2to3 lub 3to2?
Python's HOWTO [Przeniesienie kodu Pythona 2 do Pythona 3] (http://docs.python.org/py3k/howto/pyporting.html) daje kilka dobrych rad na ten temat. –