python - Pourquoi, après avoir utilisé request.get l'URL, le contenu de la réponse dans .text est sous la forme d'un dictionnaire, mais tapez-le en str
学习ing
学习ing 2017-06-12 09:21:24
0
3
1005

J'utilise jupyter d'anaconda pour exécuter le code.
J'utilise le module requests pour lire la page Web

Je vois que le contenu de sortie est entre accolades. , donc j'utilise la fonction de dict pour lire la valeur, mais cela a échoué.
type()
a découvert que son attribut était str
Après avoir utilisé json
, j'ai découvert que l'attribut était devenu dict. Lorsque le programme lit ce type de

contenu de dictionnaire

sous forme de chaînes, comment devrions-nous les reconvertir en attributs de dictionnaire
 ?

学习ing
学习ing

répondre à tous(3)
習慣沉默

Veuillez utiliser le bouton d'édition <> pour ajouter du code lorsque vous poserez des questions à l'avenir, afin que d'autres puissent essayer le code.

Essayez le code suivant :

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

Le résultat devrait être que les deux dictionnaires ont le même contenu. En d'autres termes :

x = eval(r.text)  
y = r.json()      
  • x consiste à exécuter la chaîne de r.text directement sous forme d'expressions pour générer un dictionnaire

  • y est l'objet json renvoyé par la méthode r.json(), qui génère un dictionnaire

Votre question est donc :
"Lorsque le programme lit ce type de contenu de dictionnaire sous forme de chaîne, comment en faire à nouveau un attribut de dictionnaire ?" d'un dictionnaire. Comment transformer une chaîne en dictionnaire ? "
Alors la réponse est la fonction intégrée eval()

Bien sûr, le module de requêtes possède déjà la méthode .json(), vous pouvez l'utiliser

伊谢尔伦

d = r.json()

De cette façon, vous obtiendrez le dictionnaire d

迷茫

Il y a encore des guillemets à l'extérieur

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal