Je crois que l'exécution d'une commande externe avec un environnement légèrement modifié est un cas très courant. Voilà comment j'ai tendance à le faire:
import subprocess, os
my_env = os.environ
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)
J'ai l'intuition qu'il y a une meilleure façon; ça a l'air bien?
/usr/sbin
:-)
os.pathsep
au lieu de ":" pour les chemins d'accès qui fonctionnent sur plusieurs plateformes. Voir stackoverflow.com/questions/1499019/...