最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3之讀取redis數(shù)據(jù)帶有‘b’的問題

 更新時間:2023年09月07日 09:21:20   作者:隨意的風  
這篇文章主要介紹了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)文章

最新評論

遂平县| 平遥县| 连山| 景洪市| 汾西县| 临城县| 嘉荫县| 芦溪县| 河曲县| 迁安市| 察隅县| 竹溪县| 新干县| 凤冈县| 南召县| 翼城县| 大关县| 新乡市| 常州市| 澜沧| 紫金县| 铁岭市| 弥勒县| 明光市| 久治县| 沂南县| 福海县| 德州市| 托里县| 安徽省| 思南县| 巨鹿县| 黎川县| 元氏县| 肥西县| 安仁县| 永登县| 子长县| 宁蒗| 新巴尔虎右旗| 明溪县|