成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python - 為什么用requests.get網(wǎng)址后,用.text響應(yīng)內(nèi)容為字典的形式,卻type它為str

瀏覽:132日期:2022-06-29 16:28:04

問(wèn)題描述

我使用anaconda 的 jupyter來(lái)跑代碼,在我使用requests模塊來(lái)來(lái)讀取網(wǎng)頁(yè),python - 為什么用requests.get網(wǎng)址后,用.text響應(yīng)內(nèi)容為字典的形式,卻type它為str看到輸出內(nèi)容在大括號(hào)內(nèi),判斷是字典,就用來(lái)dict的函數(shù)來(lái)讀取值,卻失敗了。python - 為什么用requests.get網(wǎng)址后,用.text響應(yīng)內(nèi)容為字典的形式,卻type它為strtype()發(fā)現(xiàn)它的屬性發(fā)現(xiàn)是strpython - 為什么用requests.get網(wǎng)址后,用.text響應(yīng)內(nèi)容為字典的形式,卻type它為str我用json后,卻發(fā)現(xiàn)屬性又變成dict

當(dāng)程序把這類字典形式的內(nèi)容當(dāng)字符串來(lái)讀取時(shí)候,該如何讓他們重新變成字典屬性

問(wèn)題解答

回答1:

請(qǐng)樓主以後發(fā)問(wèn)多利用 <> 編輯按鈕加入代碼,方便別人試代碼。

試試以下代碼:

x = eval(r.text)y = r.json()print (type(x), type(y))print (x==y)

結(jié)果應(yīng)該是兩個(gè)都是字典,而且內(nèi)容一致。換句話說(shuō):

x = eval(r.text) y = r.json()

x 是把r.text的字符串直接當(dāng)成表述句expressions執(zhí)行了,產(chǎn)生一字典

y 是r.json()方法傳回的json物件,產(chǎn)生一字典

所以你的問(wèn)題是:「當(dāng)程序把這類字典形式的內(nèi)容當(dāng)字符串來(lái)讀取時(shí)候,該如何讓他們重新變成字典屬性?」可以比較精確的改問(wèn)為:「字符串中為一個(gè)字典形式的表述句,該如何將字符串變成字典?」那麼答案就是內(nèi)置函數(shù)eval()

當(dāng)然,requests模塊本來(lái)就有.json()方法,你本來(lái)就可以用的

回答2:

d = r.json()

這樣,就得到 字典d 了

回答3:

外面還有層引號(hào)呢

標(biāo)簽: Python 編程