python - Mengapa selepas menggunakan requests.get URL, kandungan respons dalam .text adalah dalam bentuk kamus, tetapi taipkannya str
学习ing
学习ing 2017-06-12 09:21:24
0
3
976

Saya menggunakan jupyter anaconda untuk menjalankan kod
Saya menggunakan modul permintaan untuk membaca halaman web

Saya melihat bahawa kandungan keluaran adalah dalam kurung saya menilai bahawa ia adalah , jadi saya menggunakannya fungsi dict untuk membaca nilai, tetapi ia gagal.
type()
mendapati atributnya ialah str
Selepas saya menggunakan json
, saya dapati atribut itu bertukar kepada dict Apabila program membaca kandungan kamus

sebagai

rentetan, bagaimana kita harus mengubahnya kembali menjadi atribut kamus?

学习ing
学习ing

membalas semua(3)
習慣沉默

Sila gunakan butang edit <> untuk menambah kod apabila bertanya soalan pada masa hadapan, supaya orang lain boleh mencuba kod tersebut.

Cuba kod berikut:

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

Hasilnya mestilah kedua-duanya adalah kamus dan mempunyai kandungan yang sama. Dengan kata lain:

x = eval(r.text)  
y = r.json()      
  • x ialah untuk melaksanakan rentetan r.text secara langsung sebagai ungkapan untuk menjana kamus

  • y ialah objek json yang dikembalikan oleh kaedah r.json(), yang menjana kamus

Jadi soalan anda ialah:
"Apabila atur cara membaca kandungan kamus jenis ini sebagai rentetan, bagaimana untuk menjadikannya atribut kamus sekali lagi
Anda boleh menukar soalan dengan lebih tepat kepada:
"Rentetan ialah ungkapan dalam bentuk?" daripada kamus. Bagaimana untuk menukar rentetan menjadi kamus "
Maka jawapannya ialah fungsi terbina dalam eval()

Sudah tentu, modul permintaan sudah mempunyai kaedah .json(), anda boleh menggunakannya

伊谢尔伦

d = r.json()

Dengan cara ini, anda akan mendapat kamus d

迷茫

Masih ada tanda petikan di luar

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!