Python Key.f1 über config datei einstellen?
Hallo. Ich habe configparser ausprobiert um meinem programm eine config zu geben.
Ich möchte verschiedene tasten individuell anpassen können. Wenn ich Key.f1 z.B. einlesen lasse versteht python das als string "Key.f1". ich brauche es im code aber z.B. als button.press(Key.f1) und hab keine Ahnung, wie ich das umwandeln kann.
1 Antwort
Nach deinen Beispielen sieht es so aus, als wenn Key.f1 eine Konstante ist. Eventuell steht auch ein String dahinter.
In deiner Config kannst du nur Text (String) speicher. Daher wird dein Code auch als "Key.f1" ausgeführt.
Falls wirklich ein String (ein anderer Wert) dahinter steckt, könntest du einfach diesen in der Config speichern und wieder angeben.
Alternativ müsst du manuell von "Key.f1" zu Key.f1 mappen. Ein Dictionary in Python bietet sich dazu an. Der Key ist der String und der Wert die Konstante.
Die Funktion eval() müsste hier auch funktionieren. Damit kannst du eine String als Python Ausdruck ausführen und erhälst den Rückgabewert. Es wäre dann z.B. button.press(eval("Key.f1")). Bedenke, dass diese Umsetzung auch zu Sicherheitsproblemen führt. Vor allem da der Wert aus einer Config Datei gelesen wird. Für ein privates Projekt, wo du den Code auch privat hältst, ist das Problem nicht sehr kritisch.