重构Python3.6的Twisted代码需要什么?

时间:2019-09-21 02:43:34

标签: python twisted

难以弄清楚如何重构在Python3.6下为python3.6为Twisted编写的某些代码

我一直在尝试弄清楚如何使用Twisted库在https://github.com/stylesuxx/udp-hole-punching处获得版本库以在Python3.6上工作。根据自述文件,尽管Twisted应该可以在Python3.5 +上运行,但仍需要Python2.7。这使我相信问题出在存储库本身,尽管我不知道要更改什么。

我已经在Python2.7下运行了代码,并且可以正常工作。客户端和服务器将连接,并将输出消息,显示正在建立的连接。但是,在Python3.5下,根本不会输出任何消息,并且从本质上看来根本没有任何反应。没有错误消息显示。

2 个答案:

答案 0 :(得分:0)

您可能希望先进行语法更改,如果您使用IDE则应该突出显示语法,例如将print语句更改为

print 'text'

print('text')

有关更多信息,请参见此cheat sheetPorting Python 2 Code to Python 3

答案 1 :(得分:0)

好的,我想我有答案。我找到此页面:https://twisted.readthedocs.io/en/twisted-16.6.0/core/howto/python3.html

我在server.py中找到了以“ self.transport.write”开头的行,并使用首字母b或.encode()将消息作为字节而不是字符串发送。我还将datagram =='0'的行更改为if datagram == b'0'的行。

到目前为止似乎仍在工作。如果遇到更多障碍,我将在这里分享。

相关问题