所以我在python中编写一个脚本,将命令直接输入到Ubuntu机器的终端。我使用os.system函数输入命令以获得超级用户访问权限,并且在将密码输入脚本并获得超级用户权限时遇到了一些麻烦。这是我的代码:
AClass
如果有人可以提供帮助,那将不胜感激。对不起,如果这个问题太模糊了。
答案 0 :(得分:1)
import os
def runUpdates():
suPassword = input("Enter su password: ")
os.popen("sudo su - %s date", 'w').write(suPassword)
runUpdates()
(日期是命令)
使用子流程的其他方式
import subprocess
import getpass
password = getpass.getpass()
p = subprocess.Popen(['sudo', '-p', '-k', '-S', 'date'],
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
stderr=subprocess.STDOUT)
p.communicate(input='{0}\n'.format(password))[0]