Ich habe eine Codebasis, die StringType und NoneType (Typen Modul) in der Codebasis Python2.x verwendet. Bei der Portierung auf Python3 sind Tests fehlgeschlagen, da das Modul types in Python3.x nicht die oben genannten zwei Typen aufweist.StringType und NoneType in python3.x
Ich löste das Problem, indem Sie sie jeweils durch "str" und "None" ersetzt. Ich habe mich gefragt, ob es einen anderen (richtigen) Weg gibt, dies zu tun. Was ich momentan mache, scheint definitiv zu funktionieren, aber ich bin zweifelhaft.
Sollte ich mich an den Ansatz halten, dem ich gefolgt bin, oder stimmt etwas nicht mit dem, was ich getan habe? Wenn ja, wie korrigiere ich es?
Du hast Recht, aber es ist im Allgemeinen zu machen Code empfohlen, die durch '2to3 passieren "richtig, anstatt die eine Menge Code mit allen Situationen umzugehen. Wenn Sie nur 'isinstance (obj, basestring)' verwenden, ändert '2to3' es in' isinstance (obj, str) '. –
Ah, ok, ich hatte keine Ahnung von 2to3 - ich habe nur einmal eine kleine Bibliothek geschrieben, die in beiden benötigt wurde. Ich werde meine Antwort reparieren. –