Python Einstellung speichern?

1 Antwort

Sowas ist eine Konfigurationsdatei. Du kannst sie in beliebigen Formaten speichern, JSON oder https://docs.python.org/3/library/configparser.html bieten sich an, weil gleichermaßen maschinen- und menschenlesbar.

Die Frage ist dann, wo sie zu speichern sind. Auf Unix-basierten Betriebssystemen wählt man üblicherweise ein verstecktes File oder Directory im Homedirectory des aktuellen Benutzers.

from pathlib import Path
config_file = Path.home() / ".meinekonfig"

Das funktioniert auch auf Windows, wenn es auch nicht der "Standardweg" ist.

troloxi 
Fragesteller
 07.01.2021, 08:49

Sagen wir mal meine JSON Datei sieht so aus:

[DEFAULT]
printthisthing = Hallo

und jetzt möchte ich in Python printthisthing mit einem print() anzeigen. Wie mache ich das?

0
alfredo153  07.01.2021, 09:02
@troloxi

Das ist kein JSON, das ist das INI-Format, das auch der Configparser verwendet. Mit JSON geht das Schreiben und Lesen zB so, wie auch in der Doku nachzulesen:

import json
from pathlib import Path

config_file = Path.home() / "testconfig.json"

my_config = {"fontsize" : 100, "fontface" : "Helvetica"}

with config_file.open("w") as f:
    json.dump(my_config, f)

with config_file.open() as f:
    my_read_config = json.load(f)

assert my_read_config == my_config
0
troloxi 
Fragesteller
 07.01.2021, 09:42
@alfredo153

Aber vorallem in Linux basierenden Systemen wird es nicht mit JSON gemacht.

Das ist wie eine .txt Datei:

font-size: 40
font-family: Helvatica
0
troloxi 
Fragesteller
 07.01.2021, 09:44
@troloxi

Oder es sind keine .txt sondern .yml

0
alfredo153  07.01.2021, 09:51
@troloxi

Dann nimmst du halt einen YAML-Parser oder schreibst dir selber was.

0
troloxi 
Fragesteller
 07.01.2021, 10:01
@alfredo153

Wenn ich dich mal kurz etwas fragen darf, was nichts mit der Frage zu tun hat:

Wie kann ich die Farbe von meinem Input in Python ändern? Ich finde Online einfach keine Lösung?

0