multiprocessing 在 class 中初始化一个函数
multiprocessing initialising a function in a class
我正在尝试使用多处理在 class 中初始化一个函数,方法是从一个函数中调用它,该函数位于同一个 class
中
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)
我做错了什么
self.streamobj = multiprocessing.Process(target = self.Streaminit(),args=(track,))
您在这里调用 Streaminit
函数时没有参数,它有一个参数(加上 self
)。所以自然会导致错误。
您似乎想做的是将函数本身传递给 multiprocessing.Process
:
self.streamobj = multiprocessing.Process(target=self.Streaminit, args=(track,))
我正在尝试使用多处理在 class 中初始化一个函数,方法是从一个函数中调用它,该函数位于同一个 class
中 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)
我做错了什么
self.streamobj = multiprocessing.Process(target = self.Streaminit(),args=(track,))
您在这里调用 Streaminit
函数时没有参数,它有一个参数(加上 self
)。所以自然会导致错误。
您似乎想做的是将函数本身传递给 multiprocessing.Process
:
self.streamobj = multiprocessing.Process(target=self.Streaminit, args=(track,))