Modification des variables d'environnement pour les commandes externes en Python
Pour exécuter des commandes externes avec des variables d'environnement modifiées, de nombreux développeurs adoptent une approche similaire à la suivante :
import subprocess, os # Copy the current environment my_env = os.environ # Append additional paths to the PATH variable my_env["PATH"] += "/usr/sbin:/sbin" # Execute the command with the modified environment subprocess.Popen(my_command, env=my_env)
Bien que cette méthode fonctionne efficacement, une approche plus efficace existe en utilisant la fonction os.environ.copy(). Cette fonction crée une copie de l'environnement actuel, vous permettant d'apporter des modifications sans affecter l'original.
import subprocess, os # Create a copy of the current environment my_env = os.environ.copy() # Append additional paths to the PATH variable (using string interpolation for clarity) my_env["PATH"] = f"/usr/sbin:/sbin:{my_env['PATH']}" # Execute the command with the modified environment subprocess.Popen(my_command, env=my_env)
Cette technique garantit que les modifications apportées à l'environnement sont limitées à la copie nouvellement créée et n'altèrent pas l'environnement actuel. environnement original pour le processus actuel. Il favorise également une lisibilité plus claire du code, en particulier lorsque vous travaillez avec des environnements imbriqués ou des modifications de chemins complexes.
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!