AttributeError: ‘list‘ object has no attribute ‘keys‘
def hash_redis():redis_info = {"host": "127.9.9.1","port": 6379,"db": 10}msg_dict = get_news()# 连接redis,可以在连接时直接添加 decode_responses=True,这样在输入结果的时候直接是 str 类型,而不是 byte 类型r = redis.Redis(**redis_info, d
·
def hash_redis():
redis_info = {
"host": "127.9.9.1",
"port": 6379,
"db": 10
}
msg_dict = get_news()
# 连接redis,可以在连接时直接添加 decode_responses=True,这样在输入结果的时候直接是 str 类型,而不是 byte 类型
r = redis.Redis(**redis_info, decode_responses=True)
for i in list(msg_dict.keys()):
if not r.hexists("msg1", i):
r.hset("msg1", i, msg_dict[i])
logger.info(f"新闻:{i}-- 写入redis成功!")
msg_dict.pop(i)
logger.info(f"新闻: {i}-- 已经推送过了!")
return msg_dict
解决办法: 将 for i in list(msg_dict.keys()) 改成 for i in msg_dict.keys
def hash_redis():
redis_info = {
"host": "127.0.0.1",
"port": 6379,
"db": 10
}
msg_dict = get_news()
# 连接redis,可以在连接时直接添加 decode_responses=True,这样在输入结果的时候直接是 str 类型,而不是 byte 类型
r = redis.Redis(**redis_info, decode_responses=True)
for i in msg_dict:
if not r.hexists("msg1", i):
r.hset("msg1", i, msg_dict[i])
logger.info(f"新闻:{i}-- 写入redis成功!")
msg_dict.pop(i)
logger.info(f"新闻: {i}-- 已经推送过了!")
return msg_dict
更多推荐
已为社区贡献1条内容
所有评论(0)