我正在开发一个相当简单的脚本来监控和存档给定用户的推文 - 现在,我的配置每五分钟请求一个帐户的 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]
但它抛出了一个语法错误:无法分配给函数调用错误。
有什么帮助吗?谢谢!
语法是 [ 变量的表达式 ... ],这就是您收到语法错误的原因。
你最初的列表理解很好。问题似乎是您在jason_u中的字典与old_u中的字典不同。
您是否打印了字典并查找了时间戳等差异?