2015-11-26 17 views
-1

所以我写了一个Python脚本,它直接将命令输入到Ubuntu机器的终端。我使用os.system函数来输入命令以获得超级用户访问权限,并且在将密码输入脚本并获得超级用户权限时遇到了一些麻烦。这里是我的代码:python中的子进程

import os 

def runUpdates(): 
    suPassword = input("Enter su password: ") 
    su = os.system("sudo su") 
    su2 = os.system(suPassword) 
    return su 
    return su2 

如果有人能帮助,将不胜感激。对不起,如果这是一个问题太模糊。

回答

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] 
其他方式