我使用了以下代码,它运行命令并提示密码。当我使用sendline输入密码时,由于某种原因登录没有发生。
如何调试并确保发送“Enter”按钮?
代码:
child = pexpect.spawn('tool --server=commander.company.com login username',logfile=sys.stdout)
child.expect('Password:')
child.sendline('com0201')
答案 0 :(得分:1)
sendline()
会自动发送os.linesep
中定义的新行字符,因此您无需执行任何特殊操作即可发送“输入按钮”。
您已启用日志记录;你看到了什么输出?
在您发送密码后,要尝试的其他内容是child.interact()
。这将允许您与子进程进行交互,并可能在出现问题时提供一些线索。