pexpect相关内容

ping 无限时间并在 Python 中获取其输出

任务是:尝试使用“ping 8.8.8.8"等最基本的形式在python中发送ping.一段时间后终止 ping 命令(在终端中,将执行 Ctrl+C)并获取其输出.显示 ping 统计信息的最后几行输出特别令人感兴趣. 两种方法都试过了,都不行.我的操作系统版本是 Mac OS X 10.10.1. 第一种方法使用模块 pexpect,ping 将在大约 17 秒后停止,尽管我没有要 ..
发布时间:2022-01-18 15:50:50 Python

像在终端中一样近乎实时地运行命令并分别获取其标准输出和标准错误

我正在尝试在 Python 中找到一种方法来运行其他程序: 可以记录正在运行的程序的标准输出和标准错误分开. 正在运行的程序的stdout和stderr可以是近乎实时地查看,这样如果子进程挂起,用户可以看到.(即我们不等待执行完成之前将 stdout/stderr 打印给用户) 奖励标准:正在运行的程序不知道它是通过 python 运行的,因此不会做意想不到的事情(比如将其输出分块而不是 ..
发布时间:2022-01-18 15:19:30 Python

如何让 Fabric 自动(而不是用户交互)与 shell 命令交互?与 pexpect 结合?

寻求手段让 Fabric 自动(而不是用户交互地)与 shell 命令(而不仅仅是请求)交互用于密码,但在没有像 apt-get install -y 这样的“标准输入/交互式覆盖"可用时也要求用户输入). 这个问题以及这些.如果适用,为什么不在同一个程序/自动化中同时利用两者(pexpect 和 Fabric)? 解决方案 作为 Glenn,我会说使用 pexpect;此外, ..
发布时间:2021-12-26 23:15:19 Python

在 RedHat7 上使用 pexpect 是否仍然适用,或者是否有执行命令并响应提示的替代方法?

我正在尝试在 Redhat7 中使用 pexpect 来实现 ansible,但我无法安装它.我只得到 pexpect.noarch 2.3-11.el7 @RHEL7 版本.或者 pexpect 是否有执行命令并响应提示的替代方法? 解决方案 看起来 RHEL7 附带的 pexpect Python 模块的版本对于 Ansible 来说太旧了(RHEL7 有 pexpect 2.3,而 ..
发布时间:2021-11-11 01:40:39 其他开发

使用 ansible expect 创建 nessus 用户 (nessuscli)

我正在使用 ansible expect 为我的 nessus 创建一个用户(通过使用 nessuscli).期望应该回答以下几个问题(我添加了数字 1-5).我的期望卡在数字 5.数字 5 的最后一个字母是“(用户可以设置一个空规则集)",然后是下一行(回车).这导致了问题,因为我不知道如何告诉期望有一个短语后跟下一行.我试过 \r \n 但没有一个成功!任何治疗表示赞赏. 另外,你可以在 ..
发布时间:2021-11-11 00:48:09 Python

在 RedHat7 上使用 pexpect 是否仍然适用,或者是否有执行命令并响应提示的替代方法?

我正在尝试在 Redhat7 中使用 pexpect 来实现 ansible,但我无法安装它.我只得到 pexpect.noarch 2.3-11.el7 @RHEL7 版本.或者 pexpect 是否有执行命令并响应提示的替代方法? 解决方案 看起来 RHEL7 附带的 pexpect Python 模块的版本对于 Ansible 来说太旧了(RHEL7 有 pexpect 2.3,而 ..
发布时间:2021-11-11 00:35:29 其他开发

pexpect 超时,来自孩子的大块数据

我正在使用 pexpect 调用另一个提示输入 raw_input 的 python 脚本 (py27).我正在尝试围绕此脚本构建一个 GUI 包装器,而无需对其进行修改. 我遇到的问题是我调用的脚本在下一个命令提示符之前执行时返回了大量数据(例如,10KB).我知道 pexpect 会处理大量数据.child.expect 调用总是达到超时,无论我传递什么值.如何处理大数据集?我已经学会了 ..
发布时间:2021-09-07 20:13:03 Python

调试 Python 函数以删除 ANSI 代码

我的问题实际上有两个部分.我编写了一个函数,通过简单的替换从字符串中删除 ANSI 代码,但是该函数按原样返回字符串.我尝试过使用 pdb 进行调试,但结果没有意义,因为 Python 本身似乎存在故障.但是我对此表示怀疑,所以我试图弄清楚我在代码中没有看到什么错误.另外,我想知道是否有更好的方法来删除(可能还没有看到)ANSI 代码,而无需每次都修改函数. 这是一个让我感到困惑的 pdb ..
发布时间:2021-09-03 18:31:52 Python

从 Python 子进程执行 shell 脚本

我需要从 python 调用一个 shellscript.问题是 shellscript 会一路问几个问题,直到它完成. 我找不到使用 subprocess 的方法!(使用 pexpect 似乎有点过头了,因为我只需要启动它并向它发送几个 YES) 请不要建议需要修改 shell 脚本的方法! 解决方案 使用 subprocess 库,你可以告诉 Popen 类你想管理标准输入 ..
发布时间:2021-08-31 20:32:36 Python

通过 Python 获取 MAPLE 的输出

我将如何使用 Python 中的 subprocess 模块来启动 MAPLE 的命令行实例,以将输出提供给主代码并将其返回?例如我想: X = '1+1;'打印枫叶(X) 返回“2"的值. 我所见过的最好的是围绕 MAPLE 命令的 SAGE 包装器,但我不想为我的目的安装和使用 SAGE 的开销. 解决方案 使用 Alex Martelli 的提示(谢谢!),我对我的问题给出 ..
发布时间:2021-08-31 20:30:57 Python

python ssh进入跳转服务器,然后从跳转服务器ssh进入主机以执行命令

我想通过 SSH 连接到一个跳转服务器.从跳转服务器,我希望通过 SSH 连接到主机并执行命令:'rpm -qa |grep package' 并获取输出.完成后,我想先成功注销主机,然后再注销跳转服务器. 以下是我迄今为止尝试过的: 导入pexpect选项 = '-q -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -o ..
发布时间:2021-08-27 20:03:11 Python

pexpect 和 ssh:如何在 su - root -c 之后格式化命令字符串

我正在尝试遍历服务器列表 &更改一组服务器上的 sshd 配置的密码,以便我可以使用无密码 SSH 密钥通过 root 登录/运行命令. 我可以在 bash 中轻松完成此操作,但我正在尝试学习 Python,并且(显然)希望放弃手动输入密码. 这是我想做的事情的重点: scp ~/.ssh/id_rsa.pub/etc/ssh/sshd_config USER@IP:/tmp/ssh ..
发布时间:2021-08-27 19:56:16 Python

pxssh 抛出文件结尾 (EOF).异常样式平台异常

我在使用 pxssh 模块时遇到问题.我的代码如下: 尝试:ssh_handle = pxssh.pxssh(超时=无)ssh_handle.logfile = sys.stdoutssh_handle.login(主机,用户名,密码)index = ssh_handle.expect(['你确定要继续连接\(yes\/no\)\?', '.*?password:.*', '.*?\$.*'] ..
发布时间:2021-08-27 19:52:00 Python

python pexpect:SSHing 然后更新日期

除了更新日期最重要的部分之外,我终于让我的 python pexpect 脚本工作了!我可以在框中 SSH,但我的第二个命令没有正确执行.我一直在用头撞墙试图找出原因.我已经检查了 sting 的输出,它应该根据编码的内容工作.我不是 Python 或 pexpect 方面的专家,所以我需要一些帮助来弄清楚为什么我的时间没有更新. 我的原始代码: list = ["089"]sn = 0s ..
发布时间:2021-08-27 19:50:05 Python

使用本地主机上的python脚本传输文件(scp)并从jumpserver运行命令到finalserver

需要将文件上传到最终服务器,并且需要使用该文件作为输入来运行命令. 以下将是要执行的整个操作的步骤(但我卡在第 3 步): 1 - 将文件从本地主机传输到跳转服务器(使用 scp) 2 - ssh 到跳转服务器 3 - 将文件从 jumpserver 传输到 finalserver(使用 scp) 4 - ssh 到最终服务器 5 - 在 finalserver ..
发布时间:2021-07-16 21:43:23 Python

在 pexpect 中同时使用 expect() 和 interact()

一般问题是,我想使用 pexpect 调用需要 sudo 权限的脚本,但我并不总是想输入我的密码(只输入一次). 我的计划是使用 pexpect 生成具有 sudo 权限的 bash 会话并从那里调用脚本.基本上我总是想让会话保持忙碌,每当一个脚本停止时,我想启动另一个.但是在脚本运行时,我希望用户拥有控制权.含义: 脚本应该在诸如expect("root@")之类的之后调用,所以每当 ..
发布时间:2021-06-26 20:33:31 其他开发