Hallo,
ich möchte in einem Pythonskript ein bash-File ausführen welches die Umgebungsvariablen manipuliert. Allerdings wird beim Ausführen mit os.system() bzw. subprocess.run() eine eigene Shell geöffnet. Die Umgebungsvariablen der Parent-shell ändern sich dadurch nicht.
Hat jemand eine Idee wie man die durch das bash-File geänderten Umgebungsvariablen auslesen kann, um sie auch im Pythonskript anzupassen?
Vielen Dank im Voraus
Windsaer
Manipulation der Umgebungsvariablen durch Subprogramm
Dafür gibt es `psutil`: https://psutil.readthedocs.io/en/latest ... ss.environ
- __blackjack__
- User
- Beiträge: 13931
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Windsaer: Das hat übrigens nichts mit Shells zu tun, denn `subprocess.run()` führt Dein Bash-Skript direkt aus, ohne noch einmal eine weitere Shell dazwischen zu schieben. Grundsätzlich kann man von einem Kindprozess die Umgebungsvariablen des Elternprozesses nicht ändern. Darum auch der Lösungsansatz von Sirius3 vom Elternprozess aus auf die Umgebungsvariablen vom Kindprozess zuzugreifen.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware