Uważam, że uruchamianie zewnętrznego polecenia w nieco zmodyfikowanym środowisku jest bardzo częstym przypadkiem. Tak zazwyczaj to robię:
import subprocess, os
my_env = os.environ
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)
Mam przeczucie, że jest lepszy sposób; czy to wygląda dobrze?
/usr/sbin
:-)
os.pathsep
zamiast „:” dla ścieżek, które działają na różnych platformach. Zobacz stackoverflow.com/questions/1499019/…