375 votes

Python sous-processus/Popen avec un environnement modifié

Je crois que l’exécutant une commande externe avec un environnement légèrement modifié est un cas très courant. Voilà comment j’ai tendance à le faire :

J’ai une intuition qu’il existe une meilleure façon ; est-il bien ?

x 10

540voto

Daniel Burke Points 746

Je pense que `` est mieux si vous ne comptez pas modifier le os.environ pour le processus actuel.

25voto

SilentGhost Points 79627

vous pouvez utiliser au lieu de dans l’affaire `` en quelque sorte pas définie dans l’environnement d’origine, mais à part ça il semble très bien.

6voto

Noufal Ibrahim Points 32200

Le paramètre env accepte un dictionnaire. Vous pouvez simplement prendre os.environ, ajout d’une clé (votre valeur de consigne) (vers une copie de la dict si vous devez) à celle et utilisez-le comme paramètre à `` .

2voto

derigible Points 149

Je sais que cela a été répondu depuis un certain temps, mais il ya quelques points que certains voudront peut-être savoir sur l'utilisation de PYTHONPATH au lieu de CHEMIN dans leur environnement variable. J'ai esquissé une explication de l'exécution des scripts python avec cronjobs qui traite de la modification de l'environnement d'une manière différente (trouvé ici). Pensé qu'il pourrait être bon pour ceux qui, comme moi, juste un peu plus de cette réponse.

0voto

Andrew Aylett Points 16469

Dans certaines circonstances, que vous souhaiterez peut-être transmettre uniquement les variables d’environnement votre sous-processus a besoin, mais je pense que vous avez eu la bonne idée en général (c’est comment je le fais aussi).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X