2017-07-10 10 views
0

私はTweepyを使ってツイートをストリーミングしています。私は、jsonファイルのretweeted_status識別子を使用して、リトライされたコンテンツをフィルタリングしようとしています。 私は、前の行の空の戻り値の後にforループを実行したいが、動作していないように見える。何も出力されない。スクリプトはif文の後に停止するようだ:Python return "None"はforループを回避します

class StreamListener(tweepy.StreamListener): 


     def on_status(self, status): 
       #these variable split out the data from the outputted json 
       text = status.text 
       name = status.user.screen_name 
       id_str = status.id_str 

#This if argument ensures that if there is retweeted status then None is returned 
       if hasattr (status, 'retweeted_status'): 
         return 
       for url in status.entities['urls']: 

         print (text, name, (url['expanded_url']), file=open("results.txt", "a")) 
+7

「forループを実行します。」と「return文」が同じ文にまとまっていません。 –

+0

forループが印刷するはずのテキストを返そうとしていますか? if文の意図は何ですか? –

答えて

1

on_statusメソッドの新しいデータに必要なものが含まれている場合は、おそらく別の関数を呼び出す必要があります。 on_statusメソッドの中でcontinueを行う必要はありません。これはforループではないためです。独自のforループを作成し、独自のカスタムビジネスロジックに基づいて続けることを決めない限り。

Tweepyライブラリは、StreamListeneron_dataというカスタムから継承した(StreamListener)メソッドを呼び出しています。あなたが責任を負っているのは、そのデータで何かをしているかどうかだけです。

def handle_status_update(status): 
    # Handle your custom stuff in here... 
    text = status.text 
    name = status.user.screen_name 
    id_str = status.id_str 

    for url in status.entities['urls']: 
     print (text, name, (url['expanded_url']), file=open("results.txt", "a")) 


class StreamListener(tweepy.StreamListener): 


     def on_status(self, status): 
      # if not retweeted 
      if not hasattr (status, 'retweeted_status'): 
       handle_status_update(status) 
+1

今すぐ応援しています – nmh

0

の代わりに(完全にあなたの関数を終了します)戻り値を使用して、あなただけの印刷なしのため、ループの次の繰り返しに進みたいです。それが意味をなさないが、if文はforループの内側にあるべきです。

returncontinueに置き換えてください。これはうまくいくはずです。 continueはforループの残りの部分をスキップし、次の値から開始します。

forループの前に空の行を印刷する場合は、returnprint()に置き換えてください。

+0

SyntaxErrorを取得しています:ループ内で 'continue'が正しくありません – nmh

+0

@nmhこれはあなたがループしていないためです。 –

+0

@nmhだから、forループの前に空行を表示するという2番目の例を挙げました。なぜなら、if文をforループの内側に置かないようにするためです。リターンがそこで何をしていると思いますか? –

関連する問題