Ho scritto un modulo Pure Python per Python 3.0/3.1 che mi piacerebbe anche renderlo compatibile con 2.x (probabilmente solo 2.6/2.7) al fine di renderlo disponibile al pubblico più vasto possibile.Scrittura di un modulo per Python 2.xe 3.x
Il modulo riguarda la lettura e la scrittura di un set di formati di file correlati, pertanto le differenze tra le versioni 2.xe 3.x potrebbero essere leggermente diverse, ad es. io.BytesIO
anziché StringIO.StringIO
- ma non tutti sono facilmente gestibili tramite try/tranne i blocchi, come l'impostazione dei metaclassi.
Qual è il modo corretto di gestirlo? Due codebases quasi identici che devono essere mantenuti sincronizzati o un codebase cosparso di funzionalità di rilevamento? Un singolo, pulito codice base più 2to3 o 3to2?
Python's HOWTO [Porting Python 2 Code to Python 3] (http://docs.python.org/py3k/howto/pyporting.html) offre alcuni buoni consigli su questo argomento. –