BlackJack hat geschrieben:
Ansonsten kann ich nochmal `requests` wärmstens empfehlen, das kümmert sich automatisch um das parsen einer JSON-Antwort vom Server und stellt das Ergebnis als Attribut auf dem Antwortobjekt zur Verfügung.
Ist das so ungefähr richtig gelöst mit requests? (die alten funktionen hab ich auskommentiert erstmal drin gelassen, zum Vergleich vorher, nachher und falls ich sie nochmal brauchen sollte)
Code: Alles auswählen
def MarketData(self, fund):
#self.fund=fund
#Url = "https://www.therock.com/api/ticker/"+self.fund
#ResponseTrt = urllib.request.urlopen(Url)
#MkData = json.loads(ResponseTrt.read())
data = {'fund': fund}
MkData = requests.post('https://www.therock.com/api/ticker/', data=fund).json()
return MkData
Ich bekomme leider den Fehler:
data = {'fund': fund}
^
TabError: inconsistent use of tabs and spaces in indentation
Den Fehler hatte ich schonmal und der Grund war, wie es in der fehlermeldung ja auch heißt, dass ich zuviel/zu wenige Leerzeichen verwendet habe.
Allerdings komme ich trotz Verwendung des Notepad++ Editors überhaupt nicht mit diesen Leerzeichen zurecht ?! Es ist eigentlich alles genau gleich aingerückt und auch genau so weit, wie es vorher der Fall war. (die meisten Probleme mit Leerzeichen habe ich, wenn ich etwas mit Copy Paste einfüge, dann gibts die Fehlermeldung oft, obwohl ich manuell durch hinzufügen von Leerzeichen, alles aufdieselbe Höhe gebracht habe... )
Im Notepad++ gibt es ja links neben den Code solche "+" und "-" zum auf und zuklappen von zusammengehörenden Abschnitten. Daran kann man ja schonmal gut erkennen, ob alles richtig eingerückt ist. Unter "data=..." und über "MkData=..." ist da schon so ein kleiner Strich. Aber kein + oder -. Dieser scheint auch irgendwie Teilabschnitte zu kennzeichnen.. Aber keine Ahnung, wie ich das nun bereinigen kann.
Das letzte mal hatte ich so einen Fehler bei:
Code: Alles auswählen
if GewinnEurBtcXvnGegenUhrzeigersinn < 0:
print("KEINE Gewinnmöglichkeiten zurzeit \n")
Ich hatte in der print Zeile zuvor einfach nur, nach Konvention, 4 Leerzeichen zugefügt, also dass es 4 Leerezeichen weiter rechts steht, als der if Befehl. Aber das klappte nicht. Letzlich sind es jetzt 9 Leerzeichen und nur so klappt es. Warum klappt es nicht mit 4 und warum gerade 9?
EDIT
Ich sehe gerade nach dem posten: Hier sehen die Einrückungen völlig anders aus, als in meinem Notepad++ ?!
Beim ersten Code sieht es hier ja so aus, als seien meine Befehle weiter eingerückt, als die Kommentare davor... in Notepad++ sind diese aber genau gleich eingerückt... Meine Vermutung ist nun, dass Notepad mir das ganze irgendwie falsch anzeigt und es eig so aussieht wo hier, und daher der Fehler...
Beim zweiten Code mit dem if Befehl... das sieht sowieso völlig anders aus

im Notepad++ sieht es wie beschrieben aus, als 9 Leerzeichen Einrückung.
Habe nun den obigen Code mit häufigem entfernen von LEerzeichen, wieder zufügen und Absätze zufügen+entfernen iwie dazu gekriegt, dass dieser Strich auf der linken Seite weggegangen ist. Nun sieht es im Notepad so aus, als wäre der return Befehl 8 Leerzeichen von MkData aus gesehen nach rechts gerückt... merkwürdig.... trotzdem ist die Fehlermeldung über " inconsistent use of tabs and spaces in indentation" immernoch dieselbe... ich gebs auf...
Daher nun meine Frage: Was läuft in Notepad++ falsch???