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

2024-06-17 13:10:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行mysql_secure_installation,它提示用户输入根数据库密码,并要求用户对其他一些初始设置选项输入Yes或No。如何捕获用户输入的根密码?在

我在想的是:

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

我还想为其他提示输入默认选项。我怎么能做到呢?在


Tags: no用户数据库密码选项stdoutmysqlinstallation
1条回答
网友
1楼 · 发布于 2024-06-17 13:10:13

要透明地拦截子进程的用户输入,可以使用^{}

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)

相关问题 更多 >