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.