2017-11-24 7 views
0

URL을 호출하고 아래의 코드를 사용하여 응답 받고 때이 스레드를 생성하는 스레드 클래스를 서브 클래 싱하려고 :Python 3 : 스레딩 클래스를 하위 클래스 화 하시겠습니까?

Traceback (most recent call last): 
    File "C:/Users/peprika/PycharmProjects/DocSublimePlugin/Documentation.py", line 28, in <module> 
    e = DocConnection("peprika",12) 
    File "C:\Users\peprika\AppData\Local\Programs\Python\Python35-32\lib\threading.py", line 778, in __init__ 
    **assert group is None, "group argument must be None for now" 
AssertionError: group argument must be None for now** 

수 : 그러나

import urllib 
import threading 

from urllib.request import urlopen 

class DocConnection(threading.Thread): 
    def _init_(self,query, timeout): 
     self.query = query 
     self.timeout = timeout 
     threading.Thread.__init__(self) 
    def run(self): 
     try: 
      data = urllib.urlencode({'docQuery': self.query}) 
      request = urllib.request.Request('/my/url', data) 
      http_file = urlopen(request, timeout=self.timeout) 
      self.result = http_file.read() 
      return 
     except (urllib.HTTPError) as e: 
      err = 'HTTP Error' 
     except (urllib.URLError) as e: 
      err = 'URL Error' 

     print(err) 
     #sublime.error_message(err) 
     return False 

e = DocConnection("peprika",12) 
e.start() 

을, 나는 다음과 같은 오류를 얻고있다 누군가 내가이 문제를 이해하도록 도와 줄 수 있습니까?

+2

클래스에서'_init__'을'_init_' (두 개가 아닌 하나의 밑줄로 묶음)로 잘못 입력했습니다. – Blckknght

답변

0

초기화 기능의 철자가 잘못되었습니다. __init__이 아닌 _init_입니다. 이 경우 두 속성을 사용하여 상속 된 클래스를 인스턴스화하면 해당 속성을 사용하여 Thread 생성자를 호출합니다. 그리고 그 중 하나는 group이며 문서에 따라 None이어야합니다.