Ich bin immer noch in der Einarbeitung in Python und Kivy. Dabei hänge ich gerade im Grundverständnis etwas fest. Ggf könnt ihr mir helfen.
Ich nutze den Kivy Json Storage um eine json Datei zu bearbeiten.
Dabei habe ich folgendes Problem:
Das Test jsonfile sieht wie folgt aus:
Code: Alles auswählen
{
"publickey": "",
"privatekey": "",
"key": "1BLL5NFY-KCSUOHBN",
"secret": "fa3b7826ad",
"b-key": "c7f25364559b497092e5e00b1d119169",
"b-secret": "a7c51baa066242c4be9fe73666fe2e8c"
}
Code: Alles auswählen
from kivy.storage.jsonstore import JsonStore
jsonfile = '..\\config\\config2.json'
stage = JsonStore(jsonfile, indent=4, sort_keys=False)
a= stage.keys()
print(a) #>>> dict_keys(['publickey', 'privatekey', 'key', 'secret', 'b-key', 'b-secret'])
print(stage.get('key')) #>>> 1BLL5NFY-KCSUOHBN
b = stage.put("key", "asdasd") #>>> TypeError: put() takes 2 positional arguments but 3 were given
print(stage.get("key"))
Denn nach langen Testen habe ich folgendes Szenario zusammengebastelt. Das Funktioniert zwar aber ich verstehe nicht wieso Szenario 1 nicht möglich ist.
Code: Alles auswählen
from kivy.storage.jsonstore import JsonStore
jsonfile = '..\\config\\config2.json'
stage = JsonStore(jsonfile, indent=4, sort_keys=False)
a= stage.keys()
print(a) #>>> dict_keys(['publickey', 'privatekey', 'key', 'secret', 'b-key', 'b-secret'])
print(stage.get('key')) #>>> 1BLL5NFY-KCSUOHBN
stage.store_put("key", "asdasd") # Eigentlich gleiche Funktion wie stage.put() nur kommt kein Argumenten Fehler
print(stage.get("key")) #>>> asdasd # Value geändert aber nur im Storage datei nicht beschrieben
stage.put("fileversion", version=0.1) #>>> json wird mit geänderte Daten geschrieben
Code: Alles auswählen
{
"publickey": "",
"privatekey": "",
"key": "asdasd",
"secret": "fa3b7826ad",
"b-key": "c7f25364559b497092e5e00b1d119169",
"b-secret": "a7c51baa066242c4be9fe73666fe2e8c",
"fileversion": {
"lastwritetime": 0.1
}
}
Hab ihr eine Idee wo mein Fehler liegt? Wie kann ich den Key direkt mit stage.put beschreiben?
Danke
Tholo