2017-10-17 3 views
0

J'ai un script qui ajoute des variables à l'environnement. Ce script est appelé subprocess.call('. myscript.sh', shell=True) Y a-t-il un moyen d'obtenir l'environnement modifié et de l'utiliser lors de mon prochain appel de sous-processus?

Cette question montre que vous pouvez obtenir la sortie d'un appel et l'enchaîner à un autre appel Python subprocess: chaining commands with subprocess.run.

Y a-t-il quelque chose de similaire en passant l'environnement?Passer un environnement modifié à l'aide d'un sous-processus

Répondre

1

Vous devrez produire le contenu des variables en quelque sorte. Vous générez un nouveau processus qui ne propagera plus les variables d'environnement, donc votre application python ne verra pas ces valeurs.

Vous pouvez soit faire en sorte que le script réponde à un fichier, ou à la sortie standard si possible.

(Techniquement, il serait possible d'arrêter le processus et d'extraire les valeurs si vous vouliez vraiment le pirater, mais c'est une mauvaise idée.)