您的位置:首頁技術文章
文章詳情頁

python - 為什么用requests.get網址后,用.text響應內容為字典的形式,卻type它為str

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

問題描述

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

當程序把這類字典形式的內容字符串來讀取時候,該如何讓他們重新變成字典屬性

問題解答

回答1:

請樓主以後發問多利用 <> 編輯按鈕加入代碼,方便別人試代碼。

試試以下代碼:

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

結果應該是兩個都是字典,而且內容一致。換句話說:

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

x 是把r.text的字符串直接當成表述句expressions執行了,產生一字典

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

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

當然,requests模塊本來就有.json()方法,你本來就可以用的

回答2:

d = r.json()

這樣,就得到 字典d 了

回答3:

外面還有層引號呢

標簽: Python 編程
国产综合久久一区二区三区