如何使用Python从Bash提示符捕获用户输入

如何使用Python从Bash提示符捕获用户输入,python,mysql,bash,subprocess,Python,Mysql,Bash,Subprocess,我正在运行mysql\u secure\u installation,它会提示用户输入根数据库密码,并要求用户输入其他一些初始设置选项的是或否。如何获取用户输入的根密码 我的想法是: capture = subprocess.Popen(['mysql_secure_installation'], stdout=subprocess.PIPE) root_pwd = capture.communicate() 我还想在其他提示中输入默认选项。如何才能做到这一点?要透明地拦截子流程的用户输入,您

我正在运行
mysql\u secure\u installation
,它会提示用户输入根数据库密码,并要求用户输入其他一些初始设置选项的是或否。如何获取用户输入的根密码

我的想法是:

capture = subprocess.Popen(['mysql_secure_installation'], stdout=subprocess.PIPE)
root_pwd = capture.communicate()

我还想在其他提示中输入默认选项。如何才能做到这一点?

要透明地拦截子流程的用户输入,您可以使用:

你能试试这个吗
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)