python3之讀取redis數(shù)據(jù)帶有‘b’的問題
python3讀取redis數(shù)據(jù)帶有‘b’的問題
#encoding=utf-8 from redis import * #讀取數(shù)據(jù) d1=input("您輸入的數(shù)據(jù)是:") #連接 r=StrictRedis(host='localhost',port=6379) #寫 # pipe=r.pipeline() # pipe.set('r1','hello') # pipe.set('r2','world') # pipe.execute() #讀 #在python3的前面,有一個'b'代表的是bytes #用以下方式解決 #注意,有值則進行編碼 #法1: # temp=r.get('r1').decode() # print(temp) #法2: # temp=r.get('r2') # h1=str(temp,encoding='utf-8') # print(h1) #如果沒有值,則為None s=r.get(d1) print(s) if s==None: print('yes') else: print('no') temp=s.decode() print(temp)
基本代碼
from redis import * if __name__ == '__main__': sr = StrictRedis(host='localhost', port=6379, db=0) result=sr.set('name','python') print(result) result1 = sr.get('name') print(result1)
運行結(jié)果:
True
b'python'
這里我們存進去的是字符串類型的數(shù)據(jù),取出來卻是字節(jié)類型的,這是由于python3的與redis交互的驅(qū)動的問題,Python2取出來的就是字符串類型的。
為了得到字符串類型的數(shù)據(jù),你可以每次取出來decode一下,但是太繁瑣了,可以這樣設(shè)置:
sr = StrictRedis(host='localhost', port=6379, db=0,decode_responses=True)
即在連接數(shù)據(jù)庫的時候加上decode_responses=True即可
Python如何把redis取出的數(shù)據(jù)去掉b
解決辦法一
將鏈接轉(zhuǎn)換為字符串類型,使用如下命令
temp.decode()
解決辦法二
str(temp,encoding='utf-8')
解決辦法三
在連接redis時進行設(shè)置,避免頻繁地進行轉(zhuǎn)換操作
StrictRedis(host='localhost', port=6379, db=0,decode_responses=True)
原因
Python3與redis交互驅(qū)動上存在問題,如果使用python2則不會出現(xiàn)這樣的問題。
同樣在python3打印數(shù)據(jù)中b'開頭的代表的是bytes類型數(shù)據(jù)。
這個問題一定要牢記,避免在程序進行判斷時出現(xiàn)問題而花費較多時間去排查。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python?flask框架中多種查詢參數(shù)的獲取方式
這篇文章主要介紹了pythonflask框架的生命周期以及多種查詢參數(shù)的獲取方式,文章通過代碼示例和圖文講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03python獲取當(dāng)前計算機cpu數(shù)量的方法
這篇文章主要介紹了python獲取當(dāng)前計算機cpu數(shù)量的方法,涉及Python操作計算機硬件的技巧,代碼簡單易懂,非常具有實用價值,需要的朋友可以參考下2015-04-04Numpy數(shù)組轉(zhuǎn)置的兩種實現(xiàn)方法
下面小編就為大家分享一篇Numpy數(shù)組轉(zhuǎn)置的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python實現(xiàn)PyPDF2處理PDF文件的方法示例
這篇文章主要介紹了Python實現(xiàn)PyPDF2處理PDF文件的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09PyQt5實現(xiàn)讓QScrollArea支持鼠標(biāo)拖動的操作方法
今天小編就為大家分享一篇PyQt5實現(xiàn)讓QScrollArea支持鼠標(biāo)拖動的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06