我想用子进程来执行以下命令:
sudo sh -c "echo nameserver 1.1.1.1 > /etc/resolv.conf"
在shell它工作得很好。
这是我做的:
update_resolv_conf_cmd = (["sudo", "sh", "-c", '"echo nameserver 1.1.1.1 > /etc/resolv.conf"'])
subprocess.Popen(update_resolv_conf_cmd, stdout=subprocess.PIPE, shell=True)
但是,这是行不通的。
我想这可能工作了
import subprocess
subprocess.call("sudo sh -c 'echo nameserver 1.1.1.1 > /etc/resolv.conf'", shell=True)