Hallo zusammen,
ich versuche zur Zeit für mein kleines Stickmusterprogramm die Muster aus dem Code in eine externe Datei zu verbannen.
Als ersten Versuch habe ich einen Buchstaben und die dazugehörige zweidimensionale Liste mit shelve gespeichert. Nun würde ich aber gerne noch verschiedene Schriftarten hinzufügen. Aber dann hätte ich zwei Keys und ein Value, also
Key 1: Schriftart
Key 2: Buchstabe
Value: Liste
Leider habe ich das mit shelve nicht hin bekommen, geht das damit überhaupt?
Weiß jemand, wie oder womit man das umsetzen kann und kann mir einen Tipp geben?
Schon einmal vielen Dank!
Zwei Keys und ein Value in Datei speichern
-
sebastian0202
- User
- Beiträge: 168
- Registriert: Montag 9. Mai 2016, 09:14
- Wohnort: Berlin
Für solche Dinge nutze ich immer gerne JSON.
Vielleicht eignet sich für deine Bedürfnisse aber auch eine einfache CSV-Datei?
Vielleicht eignet sich für deine Bedürfnisse aber auch eine einfache CSV-Datei?
Code: Alles auswählen
JSON:
{
"Stickmuster_1": {
"Schriftart": "Consolas",
"Buchstabe": "A",
"Werte": []
}
}
CSV:
Consolas;A;1;2;3;4
Arial;B;5;9;
...
Geplant und teilweise umgesetzt ist, dass der Benutzer eine Schriftart auswählt und Text eingibt. Dann wird die Texteingabe in einzelne Buchstaben zerlegt und jeder Buchstabe unter Berücksichtigung der Schriftart aus der externen Datei raus gesucht. Aus der Datei kommen zweidimensionale Listen, die zu einer großen zweidimensionalen Liste zusammen gesetzt werden, die wiederum über tkinter angezeigt wird.
Dazu werde ich mich jetzt erstmal mit JSON beschäftigen.
Vielen Dank für die Antworten!
Dazu werde ich mich jetzt erstmal mit JSON beschäftigen.
Vielen Dank für die Antworten!
Ich habe da jetzt zu JSON noch eine Frage. Speichern und Laden der Daten klappt zwar, aber ich frage mich, ob man das nicht noch lesbarer hinbekommen kann.
Wenn ich z.B. etwas so speicher
Dann steht in der Datei:
Oder ich änder die Ausgabe in:
Steht in meiner Datei
Andere Formatierungen habe ich nicht hinbekommen, hätte aber gerne zwecks besserer Lesbarkeit so etwas wie
Weiß jemand ob bzw. wie das möglich ist?
Wenn ich z.B. etwas so speicher
Code: Alles auswählen
import json
data = {'Schreibschrift': {'A': [[1, 2], [3, 4]]}}
with io.open('data.json', 'w', encoding='utf8') as outfile:
str_ = json.dumps(data)
outfile.write(str_)
Code: Alles auswählen
{"Schreibschrift": {"A": [[1, 2], [3, 4]]}}
Code: Alles auswählen
str_ = json.dumps(data, indent=4)
Code: Alles auswählen
{
"Schreibschrift": {
"A": [
[
1,
2
],
[
3,
4
]
]
}
}
Code: Alles auswählen
{
"Schreibschrift": {"A": [[1, 2],
[3, 4]]}
}
