我对这些事情很新,所以如果我错了就指出我
我想在每次计算机启动时在我的计算机上执行一些终端命令(以转换GPU)。这些命令需要超级用户权限,所以当我手动执行它们时,我写sudo su然后密码。但我想用python代码执行这些命令。我该怎么办呢。
我尝试了这段代码,但失败了
import os
os.system('sudo su')
print my_computer_password
#then four lines of command which turn off GPU
这些代码行不起作用,因为print语句没有填写密码对话...
答案 0 :(得分:0)
您可以使用子进程模块,以便与其进行通信。
import subprocess as sp
prog = sp.Popen(['sudo','whateverprogram'],stdin=sp.PIPE)
prog.stdin.write('password')
prog.communicate()