python获取路由器数据包_Python-路由器上的telnet并列出完整结果(点击空格键)...

然后问题变成了如何捕获大于20kb的输出。。。当记录到文件时,我得到所有输出,但我只想保存选择性输出,而不是整个会话。当使用child.after输出被截断时,例如缺少开头,可以通过增加maxread稍微减轻一点,但是当接近30-40kb的输出时,它仍然会爆炸。

对于那些好奇的人,我正在使用“sh int | I protocol | Last”获取Cisco交换机的输出这只返回每个接口3行,但是我的一些客户的交换机堆栈有450个端口。

不知道这里的动态是什么,但对于一些开关来说,它确实成功了。

有一段时间,我试图通过有选择地打开和关闭对文件的日志记录来解决这个问题。这被证明是不可靠的,从一般的日志记录中,我可以看到pexpect在日志记录看到它之前匹配了输出方式。当数据仍在写入文件时,我最终禁用了日志记录。在大约10行输出之后截断输出。

因此,最终的问题仍然是,如何提高儿童的可靠性。为了捕获大的输出。只要输出是可靠的,增加expect语句的超时就没有问题。我现在看到的是没有输出不完整的超时。child.sendline(action)

child.expect(prompt_keys)

action_output = str(child.after) # Captures the output

# print action_output # Uncomment for debugging grabbed output

output_file.write(action_output + "\n\n\n") # Write the output to file

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值