Kann ich meinen Code effizienter/kürzer schreiben?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
MaximalMax
User
Beiträge: 18
Registriert: Sonntag 3. Mai 2020, 00:51

Code: Alles auswählen

import json

with open('data.json') as file:
    data = json.load(file)
    
print(json.dumps(data, indent=4))
Benutzeravatar
sparrow
User
Beiträge: 4577
Registriert: Freitag 17. April 2009, 10:28

Hat dir etwas an den Antworten hier nicht gefallen?
Benutzeravatar
snafu
User
Beiträge: 6889
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Geht es hier um die Einrückung bei der Ausgabe? Dann könnte das pprint-Modul hilfreich sein.
Benutzeravatar
__blackjack__
User
Beiträge: 14185
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
Benutzeravatar
DeaD_EyE
User
Beiträge: 1275
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

__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.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten