我正在编写一些python软件来轮询modbus连接并将数据存储在SQL数据库中。为了查看机器是否正在进行快速测试,我制作了一个简单的控制台风格" HMI"你可以telnet到。这是违规代码和错误。
File "/usr/lib/python3/dist-packages/twisted/internet/protocol.py", line 135, in buildProtocol
p = self.protocol()
TypeError: __init__() missing 1 required positional argument: 'factory'
错误是:
def sum_range(int1, int2):
if int1 > int2:
int2, int1 = int1, int2
return sum(list(range(int1,int2+1)))
提前感谢您的帮助!
答案 0 :(得分:0)
这可能与您的问题有关:
在本节中,您可以不带任何参数调用Screen()
:
class ScreenFactory(Factory):
def buildProtocol(self, addr):
return Screen()
但是,之前您定义Screen
采用factory
参数:
class Screen(Protocol):
def __init__(self, factory):
...