Seite 1 von 1
Kann ich meinen Code effizienter/kürzer schreiben?
Verfasst: Montag 9. November 2020, 21:54
von MaximalMax
Code: Alles auswählen
import json
with open('data.json') as file:
data = json.load(file)
print(json.dumps(data, indent=4))
Re: Kann ich meinen Code effizienter/kürzer schreiben?
Verfasst: Montag 9. November 2020, 22:13
von sparrow
Hat dir etwas an den
Antworten hier nicht gefallen?
Re: Kann ich meinen Code effizienter/kürzer schreiben?
Verfasst: Montag 9. November 2020, 22:54
von snafu
Geht es hier um die Einrückung bei der Ausgabe? Dann könnte das
pprint-Modul hilfreich sein.
Re: Kann ich meinen Code effizienter/kürzer schreiben?
Verfasst: Montag 9. November 2020, 23:22
von __blackjack__
Bevor man über effizienter/kürzer nachdenkt ist korrekt erst einmal die Priorität. Also entweder die Kodierung UTF-8 explizit angeben, oder die Datei im Binärmodus öffnen und die Kodierung dem `json`-Modul überlassen.
Re: Kann ich meinen Code effizienter/kürzer schreiben?
Verfasst: Freitag 13. November 2020, 10:09
von DeaD_EyE
__blackjack__ hat geschrieben: Montag 9. November 2020, 23:22
UTF-8 explizit angeben
Das hat mir auch schon einmal Probleme bereitet.
Wenn man die Encodierung nicht angibt, wird die Standard-Encodierung für den Text-Modus verwendet.
Nicht die Standard-Encodierung von sys.getdefaultencoding(), sondern von locale.getpreferredencoding().
Die weichen unter Windows ab.
sys.getdefaultencoding() -> "utf-8"
locale.getpreferredencoding() -> "cp1252"
Wenn man unter Windows 10 mit Python ein Dokument öffnet und das Encoding weglässt, wird cp1252 verwendet oder vielleicht was anderes.
Unter Linux fällt das Problem nicht auf, die modernen Distributionen nutzen überall utf8 als Encoding.