繁体   English   中英

此错误的原因是什么,我该如何解决?

[英]What is the reason for this error and how can I fix it?

我不确定为什么会收到此错误。 我正在尝试输入一个时间,其中告诉 twitter API 到 stream 需要多长时间。 我收到错误消息,但不知道如何解决。

Traceback (most recent call last):
  File "streamobjecttest.py", line 1, in <module>
    import StatusStream
  File "/Users/yaminhimani/Desktop/tweetybird/StatusStream.py", line 68, in <module>
    twitterStream = Stream(auth=auth, listener=StatusStream(),tweet_mode='extended')
TypeError: __init__() takes exactly 2 arguments (1 given)

stream.py 文件

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
import time
import Tweet
import DatabaseInteractor 
import twitter_credentials




class StatusStream(StreamListener):


    def __init__(self, timeLimit):
      self.start_time = time.time()
      self.timeLimit = timeLimit
      super(StatusStream, self).__init__(timeLimit)


    def on_status(self, status):


   if (time.time()- self.start_time < self.timeLimit):
       print(status.text)



def on_error(self, status):
    print(status)
    return False



auth = OAuthHandler(twitter_credentials.API_KEY,twitter_credentials.API_SECRET_KEY)
auth.set_access_token(twitter_credentials.ACCESS_TOKEN,twitter_credentials.ACCESS_TOKEN_SECRET)

twitterStream = Stream(auth=auth, listener=StatusStream(),tweet_mode='extended')
twitterStream.filter(track=["plumber","visa","bathtub"])

不同的.py文件

import StatusStream
import Tweet




stream= StatusStream.StatusStream(20)

尝试

class StatusStream(StreamListener):


     def __init__(self, timeLimit):
          self.start_time = time.time()
          self.timeLimit = timeLimit
          super().__init__(timeLimit)

这将在 Python 3 中工作。您的语法适用于 Python 2。此外,IDK 如果 StreamListener 初始化 timeLimit,因此您可能需要也可能不需要在 init 中传递 timeLimit。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM