Seite 1 von 1

Permanente Benutzervariable in Windows setzen

Verfasst: Dienstag 4. Januar 2022, 09:29
von coder420
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 :)

Re: Permanente Benutzervariable in Windows setzen

Verfasst: Dienstag 4. Januar 2022, 14:19
von __blackjack__
@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)