0

私は、特定のユーザーのツイートを監視およびアーカイブする非常に単純なスクリプトに取り組んでいます-現在、私の構成では、アカウントの最新の20件のツイート(API制限)を5分ごとに要求し、そのうちのどれが新しいかを確認します。新しいものをファイルに追加します。シンプルでなければなりません。

私が今しているのは次のループだけです。uはTwitterAPIからのjson出力として定義されています。

json_u = json.loads(u)
after first run:
  q = [x for x in json_u if x not in old_u]
  write q
old_u = json_u
wait five minutes

問題は、q変数に毎回20個の新しいツイートがすべて含まれるため、q=行が正しく機能していないように見えることです。Pythonがこの構築に苦労していると考えて(json_uは20 dictのリストである必要があります)、代わりに次のように実装したいと思いました。

q = [x for str(x) in json_u if str(x) not in old_u]

ただし、SyntaxErrorがスローされます。関数呼び出しエラーに割り当てることはできません。

何か助けはありますか?ありがとう!

4

1 に答える 1

0

構文は[...の変数の式]です。これが構文エラーが発生する理由です。

元のリスト内包表記は問題ありませんでした。問題は、jason_uにあるdictがold_uにあるdictと同じではないことのようです。

dictを印刷して、タイムスタンプなどの違いを探しましたか?

于 2012-09-17T23:14:56.633 に答える