2017-01-28 39 views
0

tweepyでPythonを習得しようとしています。シンプルなボットはかなりシンプルです。フィールドがtweepyでNONEであるかどうかを調べる

私は単語を検索するために作成しましたが、つぶやきが出てくる都市を知りたいと思います。

はテストとして、私はこのコードのビットがあります

if ' trump ' in status.text.lower(): 
    print status.coordinates 
    print ('geo'), status.geo 
    print status.text 

をしかし、私は座標と地理がすべてなしではないことがわかります。

値がnoneであるかどうかをテストし、これらの結果が表示されないようにするにはどうすればよいですか?

+2

noneと、err、 'if value is None:'となります。 – jonrsharpe

+0

私は以下を追加しました: status.coordinates!= "None" ステータスstatus.coordinatesを印刷しましたが、構文エラーが表示されています。私は 'と 'を試しましたが、どちらもうまくいきません。何か提案がありますか? – user6230466

+0

あなたはコロンがありません。また、identity(' is'/'not not')と等しくない(' == '/' != ')これはシングルトンのように 'None'と比較するためのものです – jonrsharpe

答えて

0

私はあなたに2つの可能な方法を提案することができます

  1. をあなたは次のようにあなたのif文で条件を追加することができます

    if 'trump' in status.text.lower() and status.coordinates is not None: 
    

    なしので、これはあなたのための理由である文字列ではないではありませんコード(if status.coordinates != "None")はSyntaxErrorを発生させます。

  2. if条件で何も変更または追加しないで、値がNoneでない場合にのみ印刷します。
    それを行うための可能な方法は以下の通りです:

    if status.coordinates is not None: 
        print status.coordinates 
    

    または

    if status.coordinates: 
        print status.coordinates 
    

    と完全なスクリプト:あなたは価値があるかどうかを確認するためにテストすることができ

    if 'trump' in status.text.lower(): 
        if status.coordinates is not None: 
         print status.coordinates 
        if status.geo is not None: 
         print ('geo'), status.geo 
        print status.text 
    
+0

それはうまくいきました。UnicodeEncodeError: 'ascii'コーデックは文字u '\ u2026'を位置118にエンコードできません:序数は範囲内にありません(128)。 – user6230466

+0

とにかく、私はあなたのコメントの間違いをよく理解していない、私はあなたに詳細を別の質問を開くことを提案する。私の答えがあなたの最初の問題を解決した場合は、同じ問題を抱えているユーザー – Giordano

関連する問題