Ich versuche, eine Python-Bibliothek für Python 2 in Python 3 zu konvertieren, hier ist der Code .
>Ich habe einen Fehler in Zeile 152. In der Py2-Version lautet die Funktion:
%Vor%Der Fehler ist:
TypeError: Kann Bytes nicht konvertieren string implizit implizit
Ich habe festgestellt, dass ich die Variable dekodieren muss, also habe ich die Funktion folgendermaßen geändert:
%Vor%Es funktioniert, aber ich habe einen anderen Fehler in der Asyncore-Bibliothek, der das sagte
(der Typ) muss Bytes oder Puffer sein, nicht str
Also, was kann ich tun?
Sie müssen klar darüber sein, wo Sie Bytes und wo Sie Strings wollen. Wenn Sie einfach decode
und encode
hinzufügen, wo die Fehler angezeigt werden, spielen Sie whack-a-mol. In Ihrem Fall schreiben Sie eine Socket-Implementierung. Sockets befassen sich mit Bytes, nicht mit Strings. So würde ich denken, dass Ihr _write_buffer ein bytes-Objekt sein sollte, keine Schnur, wie Sie es jetzt haben.
Zeile 91 sollte sich ändern zu:
%Vor%Dann können Sie von dort aus arbeiten, um sicherzustellen, dass Sie durchgehend Bytes verwenden.