Ich versuche, einen sehr einfachen Dienst zu tun, um Daten von einer RESTfull-API in Python zu sammeln und zu drucken. Dies ist der Code, den ich habe:Warum zeigt Pycharm in diesem Fall keine Wörterbuchmethoden?
import requests
import json
response = requests.get("url")
data2 = response.json()
print type(data2)
Hier mein Problem ist: Wenn ich Daten2 Art zu drucken, es sagt mir, es ist ein Wörterbuch ist, also wenn ich data2.
tun (man beachte den Punkt) meine IDE sollte mir eine Serie geben von Methoden wie len(), cmp(), str() für mich zur Auswahl. Aber nichts zeigt sich. Das gleiche passiert mir mit Atom. Um klar zu sein, wenn ich schreibe data2.len()
, heißt es nicht, es ist ein Fehler, so dass es die Methoden erkennt. Aber es zeigt sie nicht als Vorschlag.
Wie soll ich das lösen? Ich danke dir sehr.
PyCharm nicht weiß, Daten2 ein dict ist, weil Anfragen keinen Rückgabetyp nicht erklären. Wenn Sie es drucken, wird der Typ zur Laufzeit ausgewertet. Die IDE benötigt statische Typen. Wenn Sie 'data2 = dict()' oder 'variable = []' eingeben, haben Sie Ihre Vervollständigung. – njzk2
@ njzk2, Vielen Dank für Ihre Antwort. Ich habe versucht, was du vorgeschlagen hast. Wenn ich 'data2 = []' und dann 'data2 (dot)' vor 'data2 = response.json()' versuche, werden alle Methoden angezeigt. Wenn ich es danach mache, funktioniert es nicht. –
Ja, denn an diesem Punkt hat sich die Referenz geändert, und pycharm * kann den Typ nicht kennen. Hier kannst du nichts machen. – njzk2