在一个文件中写了以下的一个继承了thread的类,在后面另一个文件里引用它,会报错:
AttributeError: 'ClientReceive' object has no attribute '_initialized'
想问问是怎么回事?怎么解决?
pythonimport re
import threading
from socket import *
class ClientReceive(threading.Thread):
client = socket(AF_INET, SOCK_DGRAM) #客户端数据报
def __init__(self, client, text_contents):
self.client = client
self.text_contents = text_contents
def run(self):
while true:
try:
self.recvStr = client.recvfrom(bufsize)
IsCon = true
#connectB.setEnabled(false);
if self.recvStr == "exit": #退出程序
exit()
else:
listbox.insert(END, self.recvStr) #输出到消息接收区域??
m = re.match("【系统消息】 服务器关闭", self.recvStr)
if m:
IsCon = false
except:
pass
从另一个文件里写了
pythonfrom tkinter import *
import pickle
from socket import *
from ClientReceive import *
client = socket(AF_INET, SOCK_DGRAM) #客户端数据报socket
text_contents = ''
clientrec = ClientReceive(client, text_contents) #接收消息线程
clientrec.start()
1 回答
![?](http://img1.sycdn.imooc.com/5333a1d100010c2602000200-100-100.jpg)
繁星淼淼
TA贡献1775条经验 获得超11个赞
你应该在覆写的 __init__
函数里调用一下父类的 __init__
:
python
def __init__(self, client, text_contents): super().__init__() self.client = client self.text_contents = text_contents
这在 Java 中是强制性的,在 Python 中则是灵活的。
添加回答
举报
0/150
提交
取消