我正在运行mysql_secure_installation
,提示用户输入root数据库密码,并要求用户为其他一些初始设置选项输入Yes或No。我如何捕获用户输入的root密码?
我在想:
capture = subprocess.Popen(['mysql_secure_installation'], stdout=subprocess.PIPE)
root_pwd = capture.communicate()
我还想将默认选项提供给其他提示。我怎么能这样做?
答案 0 :(得分:1)
要透明地拦截子进程的用户输入,可以使用pty.spawn()
:
import os
import pty
def read(fd):
data = os.read(fd, 512)
print('got input %r' % data)
return data
pty.spawn('mysql_secure_installation', stdin_read=read)