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位


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM