我发现很难处理程序的以下错误,我将非常感谢一些输入。在
该程序的目标是执行SMTP扫描。用户输入目标IP地址、用户名、密码和要分配给扫描进程的线程数。在
Traceback (most recent call last):
File "/home/user/Desktop/darkSMTP.py", line 133, in <module>
thread = myThread(i, "Thread " + str(i), i);
File "/home/user/Desktop/darkSMTP.py", line 100, in __init__
self.name = name
File "/usr/lib/python2.6/threading.py", line 669, in name
assert self.__initialized, "Thread.__init__() not called"
AssertionError: Thread.__init__() not called
代码如下:
^{pr2}$谢谢
在尝试设置名称之前,必须调用
__init__()
。线程名称是一个属性,而不是普通属性,它的setter检查对象是否已经初始化。另外,您不需要手动指定名称,因为Threading.__init__
已经有name参数。所以:myThread类的构造函数必须是:
请注意
threading.Thread.__init__(self, name=name)
后的threading.Thread.__init__(self, name=name)
。在尝试设置名称之前,必须调用基类的构造函数。在相关问题 更多 >
编程相关推荐