Permanente Benutzervariable in Windows setzen

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
coder420
User
Beiträge: 2
Registriert: Dienstag 4. Januar 2022, 09:21

Guten Tag,

ich habe viel im Internet gelesen und irgendwie hat alles nicht so ganz hingehauen.
Mein Programm nimmt einen input über eine GUI vom Benutzer und soll daraus eine permanente Benutzervariable im System anlegen.

Was fast funktioniert ist folgendes:

Code: Alles auswählen

wertBenutzer= eingabefeld.get()
 
exp = 'setx hi2 "youAsWell"'
subprocess.Popen(exp, shell=True).wait()
'youAsWell' möchte ich durch meine eigene Variable ersetzen, da der eingegebe Wert vom Benutzer geschrieben steht.
Wie ist die Syntax dafür?

Danke für eure Zeit :)
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@coder420: ``shell=True`` vergisst Du am besten gleich wieder, insbesondere wenn Du da auch noch eine beliebige Benutzereingabe einsetzen willst, kann der Benutzer dann da auch beliebigen Unfug mit anstellen.

Dann ist die Komplexität von `Popen` nicht notwendig wenn Du nur ein externes Programm aufrufen, aber mit dem zur Laufzeit gar nicht kommunizieren willst oder das parallel zu Python-Code laufen lassen willst. Da ist dann `subprocess.run()` komfortabler.

Sofern es ein Programm ``setx`` gibt, was das gewünschte macht, geht das so:

Code: Alles auswählen

    subprocess.run(["setx", "hi2", eingabefeld.get()], check=True)
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten