如何使用python自动化shell输入?
我正在用python自动化一些任务,但遇到了一些障碍。我正在自动化的任务之一需要用户在shell中输入 要求您以电子邮件地址作为参数运行命令(足够简单),然后要求您使用该电子邮件地址的密码进行身份验证。如何模拟用户输入以提供密码如何使用python自动化shell输入?,python,unix,shell,Python,Unix,Shell,我正在用python自动化一些任务,但遇到了一些障碍。我正在自动化的任务之一需要用户在shell中输入 要求您以电子邮件地址作为参数运行命令(足够简单),然后要求您使用该电子邮件地址的密码进行身份验证。如何模拟用户输入以提供密码 之后还有一些菜单询问选项,输入只需反复点击回车键即可。这是如何模拟的?请记住,此窗口并不总是有焦点。我想您可以使用它。看起来您的思维方式不对。您只需要通过管道将一些字节发送给收件人(在您的情况下是shell脚本),这可以用来完成。我不确定您在第二部分中的要求,但子流程可
之后还有一些菜单询问选项,输入只需反复点击回车键即可。这是如何模拟的?请记住,此窗口并不总是有焦点。我想您可以使用它。看起来您的思维方式不对。您只需要通过管道将一些字节发送给收件人(在您的情况下是shell脚本),这可以用来完成。我不确定您在第二部分中的要求,但子流程可以通过
pexpect
模块来控制。例如:
#!/usr/bin/env python
import pexpect
import sys
# Get email and password somehow
#email = ...
#password = ...
# Start the subprocess
child = pexpect.spawn('mycommand %s' % email)
# redirect output to stdout
child.logfile_read = sys.stdout
# Assumes the prompt is "password:"
child.expect('password:')
child.sendline(password)
# Wait for the process to close its output
child.expect(pexpect.EOF)