__init __()得到了意外的关键字参数'conne'

时间:2018-12-01 14:05:05

标签: python multithreading class sockets init

我在重写线程类的init方法时遇到问题。 我只需要一个实例化线程对象时将其传递给init方法的套接字即可。 线程类的代码为:

class client_handle(threading.Thread):

    conne = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    def __init__(self, conne=None):
        threading.Thread.__init__(self, conne=conne)

当我创建一个client_handle对象时,我写:

socket_conn, addr = s.accept()
client_thread = client_handle(socket_conn)

我也搜索了其他帖子,但是无法解决我的问题。

2 个答案:

答案 0 :(得分:2)

您需要手动分配imports作为实例的属性。将其作为参数传递给app.module.ts将不起作用(将其设置为Thread-class的组参数)。

x=data['Time Series (Daily)']
df = pd.DataFrame(x)
df=df.rename(index={'2. high':'Hight','3. low':'Low'})
df['h+l']=df.Hight + df.Low

答案 1 :(得分:1)

Thread.__init__没有名为conne的参数,因此您必须将值作为位置参数传递。

def __init__(self, conne=None):
    threading.Thread.__init__(self, conne)

顺便说一句,类属性client_handle.conne似乎没有任何作用。您可能会摆脱它。

更新:将套接字传递到Thread.__init__显然是错误的,但这适用于任何尝试“发明”参数名称(例如conne)的方法,而该方法没有参数名为conne