Popon窗口不工作

2024-04-26 06:34:34 发布

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

我目前正在尝试使用pexpect控制一个简单的ssh连接到我的raspberry pi,我用它来控制某些智能家居。在

我刚开始使用它,我正在学习它的帮助下,“暴力Python”,一本佩内特的书。在

我在Windows上了解到pexpect.spawn对象在Windows上不可用。在文档中,据说我必须使用PopenSpawn。我有一个简单的脚本:

import traceback
import pexpect
from pexpect.popen_spawn import PopenSpawn

try:
    child = pexpect.popen_spawn.PopenSpawn('ssh pi@192.168.178.34')
    a = child.expect(['password:', 'The authenticity of host'], timeout=300, async=True)
    if a == 0:
        child.sendline('123456789')
        print('this ip has exists in know_host files!')
    if a == 1:
        print('this ip will be added to know_host files!')
        child.sendline('yes')
        child.expect('password:')
        child.sendline('raspberry')
        # send test
        child.sendline("echo TestMessage")
        child.interact()
except pexpect.EOF:
    traceback.print_exc()

这总是给我一个错误:

^{pr2}$

我发现有人问了同样的问题——他还没有得到答复。在


Tags: importchildhostwindowspisshraspberryexpect
1条回答
网友
1楼 · 发布于 2024-04-26 06:34:34

SSH不是本机的windows命令。在下面的行映射命令中指向位于C:\Windows\System32\OpenSSH中的ssh。OpenSSH现在添加到System32的windows10中。试试这个,我想对你有用。在

child = pexpect.popen_spawn.PopenSpawn('ssh pi@192.168.178.34')

试试这个

^{pr2}$

更好的是,您可以安装新的Windows子系统forlinux并运行脚本。Windows Subsystem for Linux Installation Guide for Windows 10

相关问题 更多 >