1. 程式人生 > >python在使用redis時zadd錯誤

python在使用redis時zadd錯誤

最近在看《redis實戰》,在寫zadd時報錯

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\redis\client.py", line 2263, in zadd
    for pair in iteritems(mapping):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\redis\_compat.py
", line 123, in iteritems return iter(x.items()) AttributeError: 'str' object has no attribute 'items'

上網找了一些語法,也都報其他的錯誤。花了幾天時間無果。突然看到提示資訊裡也是python的程式碼呀,於是按提示要開檔案,原來是這個位置錯誤

def iteritems(x):
    return iter(x.items())

就是說入參的第二個引數的型別不對,該型別有items屬性,字典型別符合,於是將書中的程式碼修改為

conn.zadd('score:
',{article:curtime+VOTE_SCORE}) conn.zadd('time:',{article:curtime})

問題解決!

python版本3.6.7
redis版本3.2.100 64位