我正在运行 mysql_secure_installation
,它会提示用户输入根数据库密码,并要求用户对其他一些初始设置选项输入"is"或“否”。我将如何捕获用户输入的根密码?
我在想:
capture = subprocess.Popen(['mysql_secure_installation'], stdout=subprocess.PIPE)
root_pwd = capture.communicate()
我还想为其他提示提供默认选项。我该怎么做?
最佳答案
要透明地拦截子进程的用户输入,您可以使用 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)
关于python - 如何使用 Python 从 Bash 提示符中捕获用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23074146/