为了账号安全,请及时绑定邮箱和手机立即绑定

python中线程开始报错的问题

python中线程开始报错的问题

qq_笑_17 2019-02-26 08:53:33
在一个文件中写了以下的一个继承了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 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

你应该在覆写的 __init__ 函数里调用一下父类的 __init__

python        def __init__(self, client, text_contents):
                super().__init__()
                self.client = client
                self.text_contents = text_contents

这在 Java 中是强制性的,在 Python 中则是灵活的。

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 694 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信