2015-11-14 3 views
1

Я пытаюсь инициализировать функцию в классе с использованием многопроцессорной обработки, вызвав ее из функции, которая находится внутри того же же классмногопроцессорной инициализацию функции в классе

def Streaminit(self,_track): 
     self.twitterStream = tweepy.Stream(self.auth, Twitterapi.Listener()) 
     self.twitterStream.filter(track=_track) 

    def Stream(self,track=""): 
     self.streamobj = multiprocessing.Process(target = self.Streaminit(),args=(track,)) 

, но когда я называю потоком его вызывает ошибку

TypeError: Streaminit() takes exactly 2 arguments (1 given)

Что я делаю неправильно в этом

ответ

0
self.streamobj = multiprocessing.Process(target = self.Streaminit(),args=(track,)) 

Вы вызываете функцию Streaminit здесь без аргументов, и она принимает один аргумент (плюс self). Естественно, это вызовет ошибку.

Что это выглядит, как вы хотели бы сделать, это передать саму функцию multiprocessing.Process:

self.streamobj = multiprocessing.Process(target=self.Streaminit, args=(track,)) 
Смежные вопросы