Modification de l'environnement pour les commandes externes avec le sous-processus Python
L'exécution de commandes externes avec un environnement modifié est une tâche courante en programmation. Le module de sous-processus de Python fournit la fonction Popen pour exécuter des commandes externes, et son paramètre env vous permet de spécifier un dictionnaire d'environnement.
La solution fournie consiste à créer une copie de l'environnement actuel à l'aide de os.environ puis à modifier le paramètre souhaité. variable. Cependant, une approche plus efficace consiste à utiliser os.environ.copy(), qui crée un nouveau dictionnaire avec une copie de l'environnement d'origine sans le modifier.
Solution améliorée :
import subprocess, os my_env = os.environ.copy() my_env["PATH"] = f"/usr/sbin:/sbin:{my_env['PATH']}" subprocess.Popen(my_command, env=my_env)
En utilisant os.environ.copy(), vous pouvez vous assurer que l'environnement d'origine reste inchangé, ce qui est particulièrement utile si l'environnement modifié est destiné uniquement à la commande externe. Cette approche élimine également le besoin de concaténation manuelle des chaînes et fournit une solution concise et propre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!