问题标签 [pexpect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python:在 Pexpect 模块中模拟 re.findall
是否可以在 pexpect 模块中模拟 re.findall ?
我目前有一个使用 pexpect 将 ssh 连接到服务器的脚本。然后我让它向服务器发送一个命令,该命令在 p.before 中返回一堆行(p 是一个 pexpect spawn):
注意:我在示例中使用的 ip 地址是我仅用于此示例的随机 IP 地址。在实际脚本中,它可以是任何 ip 地址。我试图找到的信息是 IP 地址。
pexpect 可以做类似 re.findall 的事情吗?还是我必须这样做re.findall(regex, p.before
)?
python - 未使用 pexpect 超时,仅使用默认值 30
我正在尝试进行冗长的操作,但使用 timeout 参数的 pexpect 似乎并没有改变触发超时异常之前的时间长度。这是我的代码:
异常显示 timeout=30,这是默认值。
python - 使用 Python/Pexpect 爬取网络
这更像是一个逻辑思维问题而不是编码问题。我已经有一些工作代码块 - 一个远程登录到设备,一个解析命令结果,一个填充字典等
现在假设我想分析一个具有未知节点、a、b、c 等的网络(但我只知道 1 个)
我给我的代码块节点a。结果是一个包含 b、c 的表格。我把它保存在字典里
然后我想使用第一个条目 (b) 作为目标,看看它可以看到什么。可能是 d、e 等并将这些(如果有)添加到 dict
然后在这个新填充的字典中的下一个节点上执行相同的操作。最终输出将是所有节点都只被访问过一次,并且所有看到的设备都记录在这个(或另一个)字典中。
但是我不知道如何随着字典的增长继续重新阅读它,我也不知道如何避免多次查看设备。
我知道这对我来说比我解释的更清楚,如果造成混淆,请道歉
comparison - 什么是 Expect 可以做而 Pexpect 不能做的?
我正在考虑开始使用 Pexpect。在 Pexpects 主页上,我发现:
问:为什么不直接使用 Expect?
答:我喜欢。这很棒。我已经让我摆脱了一些真正的障碍,但我想要的东西能够满足我对 Expect 的 90% 的需求;为大小的 10%;并允许我用 Python 而不是 TCL 编写我的代码。Pexpect 没有Expect 大,但Pexpect 可以完成我曾经使用过Expect 的所有功能。
Pexpect 和 Expect 之间有 10% 的差异。所以我的问题是这 10% 的差异是什么。什么是Expect 可以做而Pexpect 不能做的。
python - 如何使用 Python 控制 links2
如何使用 Python 执行 links2 以打开网页并找到并单击文本链接?
pexpect 能做到吗?任何例子都值得赞赏。
python - 使用 pexpect 监听来自 virtualbox 的端口
我正在尝试在 python 中创建一个 tcplistener(必要时使用 pexpect)来侦听来自 windows xp 主机上 virtualbox 中 Ubuntu 的 tcp 连接。如果你们中的一个人能指出我正确的方向,我将不胜感激。谢谢你。
PS:我在这方面的经验有限,欢迎任何帮助。
python - Pexpect - 静默 ssh 连接输出
我正在使用一个简单的 pexpect 脚本来 ssh 到远程机器并获取命令返回的值。有什么办法,pexpect 或 sshwise 我可以用来忽略 unix 问候语吗?也就是说,从
我怎样才能简单地获取返回值,忽略“上次成功登录”和“(c)版权”的东西,而不必关心值的正确位置?
谢谢 !
python - 如何使用pexpect在python中获取子进程的自发输出
这与我关于 wx.TextCtrl (或底层 GTK+) 的另一个帖子多线程问题有关,在通过从主线程调用 GUI 交互进行更正后,我发现它再次涉及管道块缓冲问题。那么如何从 subprocess.stdout 中获得自发输出?
简而言之,目前我正在使用 subprocess.popen 来启动一个外部长时间运行的程序。
我使用单独的线程来读取后台程序的标准输出,用“wx.CallAfter”进行回调。
上面的代码打印出子进程日志消息块-挂-块(而不是自发逐行),最糟糕的是直到用户发送下一个输入时才能及时打印剩余的5-6行日志消息。
从我的旧帖子中,我知道有 pty 和 pexpect,这可能会使子进程认为它正在与伪 tty 交互。但是应该如何使用pexpect,尤其是考虑到后台进程是长期的、独立运行的任务?
例如,如果我使用
如何获取子进程的输出和输入,这样我就可以使用 wx.TextCtrl 打印输出,也可以使用 wx.TextCtrl 将用户输入转发到子进程?
python - 将 pexpect 的输出重定向到文件
我试图在文件中捕获 pexpect 的输出。
但是mylogfile.txt
不接收输出。该文件已创建但为空。