Twisted - Python3 TypeError:__ init __()缺少1个必需的位置参数:' factory'

时间:2018-03-08 00:14:51

标签: python python-3.x twisted twisted.internet

我正在编写一些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)))

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这可能与您的问题有关:

在本节中,您可以不带任何参数调用Screen()

class ScreenFactory(Factory):
    def buildProtocol(self, addr):
        return Screen()

但是,之前您定义Screen采用factory参数:

class Screen(Protocol):
    def __init__(self, factory):
        ...