0

我正在编写一个相当简单的脚本来监控和存档给定用户的推文——现在,我的配置每五分钟请求一个帐户的 20 条最新推文(API 限制),然后检查其中哪些是新的,并且将新的附加到文件中。应该很简单。

我现在正在做的只是下面的循环,你被定义为 twitter api 的 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 = 行似乎没有做正确的工作,因为 q 变量最终每次都包含所有 20 条新推文。认为 python 在这种构造上遇到了困难(json_u 应该是 20 个字典的列表),我想以这种方式实现它:

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

但它会引发 SyntaxError: can't assign to function call 错误。

有什么帮助吗?谢谢!

4

1 回答 1

0

语法是 [ ... 中变量的表达式 ],这就是您收到语法错误的原因。

你原来的列表理解很好。问题似乎是您在 jason_u 中的听写与 old_u 中的听写不同。

您是否打印了字典并查找了时间戳等差异?

于 2012-09-17T23:14:56.633 回答