Warum os.system nicht ( 'set foo = bar') arbeiten?
-
19-09-2019 - |
Frage
Vielleicht eine dumme Frage: Warum kann ich mit diesem eine Umgebungsvariable nicht gesetzt
os.system('set foo=bar') # on windows
Ich bin mir dessen bewusst os.environ
, und das funktioniert für mich. Ich bin nur verwirrt darüber, warum die ehemalige funktioniert nicht.
Lösung
Siehe Diskussion hier - export
und set
sind beide Shell-Befehle, und ob unter Windows oder Unix, sind sie nach wie vor zwangsläufig zu einem Kind-Prozess angesprochen werden die Shell läuft (es bash sein, cmd.exe, was auch immer) und so bar jeder weiteren Aktion, wenn das Kind Prozess beendet wird (dh wenn os.system
kehrt zum Anrufer).
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow