2015-12-21 2 views
3

У меня есть класс MyStreamListener, который я пытаюсь вызвать из другого файла, но я получаю type error 'MyStreamListener' not callable. Из того, что я читал при ссылке на классы, созданные пользователем, может быть, потому что я пытаюсь получить доступ к зарезервированному ключевому слову в python, но я уже пытался изменить имя класса. Есть ли что-то еще, что я делаю неправильно?type error 'class' object not callable

functionality.py

from authenticate import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET 
from twitter_stream import MyStreamListener 

def oauth_authenticate(): 
     auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
     auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) 
     api = tweepy.API(auth) 

     return api 

def streaming(): 
     api = oauth_authenticate() 
     streamListener = MyStreamListener() 

     stream = tweepy.Stream(auth=api.auth, listener=streamListener()) 

if __name__ == '__main__': 
     print "wanting to stream" 
     streaming() 
     print "EXITING" 

twitter_stream.py

import tweepy 

class MyStreamListener(tweepy.StreamListener): 

     def on_status(self, status): 
       print(status.text) 
+0

Я столкнулся с той же проблемой. Официальная документация Tweepy содержит ту же ошибку –

ответ

9

В строке:

stream = tweepy.Stream(auth = api.auth, listener = streamListener()) 

вы пытаетесь вызвать streamListener так лет У вас там есть параны. Вместо этого просто передайте сам объект, то есть:

stream = tweepy.Stream(auth=api.auth, listener=streamListener) 
Смежные вопросы