问题标签 [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 显示网页?
我想在 Python 中读取用户输入以获取 url(例如http://www.google.com),然后以 HTML 格式(仅文本)将网页打印到终端。我尝试使用pexpect.spawn('elinks')
但 elinks 似乎没有写入标准输出。我还查看了 HTMLParser 模块,但我不知道如何将生成的文本格式化为类似于网页的内容。有什么建议吗?
python - 使用 pexpect python 模块的 SFTP
我正在尝试使用 pexpect 模块对文件进行 SFTP。
看起来我能够通过 SSH 连接并获得身份验证,但 retval 始终为 1(退出状态)并且文件没有被 sftp 处理。
我在这里错过了什么吗?
如果我尝试等待 p (p.wait() 而不是 p.close()) - 它永远不会返回。
python - 如何使用 pexpect 从 unix 对话框中获取文本?
我在这里有一个 shell 脚本脚本,如下所示:
现在我的 py 文件是
这个脚本的输出是
从这里我会得到一些文本之间的文本。
但是如果我使用对话框
我得到了垃圾输出。
有没有办法从对话框中获取纯文本?
带有对话框的 Shell 脚本由第三方提供,因此我们无法更改脚本 :(。
请在不更改 shell 脚本的情况下提供解决方案。
python - Python - Read in binary file over SSH
With Python, I need to read a file into a script similar to open(file,"rb"). However, the file is on a server that I can access through SSH. Any suggestions on how I can easily do this? I am trying to avoid paramiko and am using pexpect to log into the SSH server, so a method using pexpect would be ideal.
Thanks, Eric
python - pexpect 和 ssh:如何在 su - root -c 之后格式化命令字符串
我正在尝试遍历服务器和密码列表以更改一组服务器上的 sshd 配置,以便我可以使用无密码 SSH 密钥通过 root 登录/运行命令。
我可以在 bash 中轻松做到这一点,但我正在尝试学习 Python,并且(显然)想放弃手动输入密码。
这是我想做的事情:
我已经接近用 pexpect 在 Python 中做到这一点:
当我运行 COMMAND1 (scp'ing) 工作正常。但 COMMAND2 失败:
如果我在运行脚本之前删除远程服务器上的 /etc/ssh/sshd_config 文件,我会得到:
我什至不确定如何调试它以查看它在哪里搞砸了。不过,我认为它没有正确解析 COMMAND2。对 Python 来说很新,所以任何建议都值得赞赏。谢谢。
python - pexpect 不能传递超过 1024 个字符的输入?
我目前正在使用以下代码将一些输入传递给具有 pexpect 的进程:
当 INPUT_LEN < 1024 时,一切正常,但对于 >= 1024 个字符,该过程不会收到完整的输入,导致在 p.readline() 上引发“pexpect.TIMEOUT”错误。
我尝试将输入拆分为小于 1024 个字符的部分,但这有同样的问题:
有谁知道如何使 pexpect 使用超过 1024 个字符的输入?我尝试查看源代码,但它似乎只是在调用 os.write(...)。
(附带说明一下,当我从 shell 运行“cat”并尝试使用“Cmd+V”粘贴 >=1024 个字符时,我注意到同样的截断错误。但是,如果我运行“pbpaste”,一切正常| 猫”。)
谢谢!
更新: 调用“os.write()”返回1025,表示写入成功,但是os.read()返回“\x07”(单字符BEL),然后在下一次调用时挂起,导致超时.
将 os.write() 调用分成两个 1024 字节以下的 write(),由调用 os.fsync() 分隔,不会改变任何内容。
python - Pexpect if else 语句
我正在尝试创建一个清除 ciscoasa bad xlate 的脚本。
要检查坏 xlate,我运行 sh xlate | 在 500 中,如果它得到回复,那么它应该发送一个明确的命令。如果我不这样做,ciscoasa 将不允许新的 vpn 隧道。
我需要有关 if else 语句的帮助。否则,脚本工作正常。这是我的代码:
expect - 转义序列]0;
我目前正在尝试编写一个使用期望登录到 SSH 的脚本。[user@host]~/directory$
当我使用 xterm 彩色终端时,每个提示都会登录到服务器。但是,如果我使用 expect 直接从 SSH 读取输出,我会看到以下内容<ESC>]0;user@host:~/directory[user@host]~/directory$
。使用export PS1="#-->"
将结果更改为<ESC>]0;user@host:~/directory#-->
.
我的问题是:序列<ESC>]0;
有什么作用?它属于哪一类终端?VT52 和 VT100 都找不到。
python - 预期中的逻辑
您好我在 Python 中使用 pexpect 来读取 ssh 设备信息。
输入密码后,我显示了一些设备信息,在命令提示符下它会要求按任意键继续;一旦我按下任何键,信息就会消失。
我使用以下逻辑来捕获发出命令后的其他数据show version
那么如何捕获在输入密码后和按任意键继续使用“expObject”之前显示的数据。
python - 开发一个网页来运行 python 脚本
我正在尝试开发一个网页,使用户能够编写 python 代码,并在需要输入时运行该代码并能够与之交互。它实际上就像一个运行 python 代码的虚拟控制台。
我发现 pexpect 可以做到这一点,但在系统终端本地。我需要做的是使用 pexpect 功能来制作一个运行 python 代码的在线虚拟控制台。
我的想法是将 pexpect 运行的进程的缓冲区写入文件并运行另一个脚本,该脚本不断检查文件并显示其中的数据。但我认为这是一个非常糟糕的解决方案,并且在访问和将文件写入辅助存储器方面成本很高。
任何如何使用 pexpect 或其他方法来做到这一点的想法将不胜感激。
提前致谢。