标题:如何实时读取变化的回显
取消只看楼主
YLin2512
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2023-4-4
结帖率:0
已结贴  问题点数:20 回复次数:2 
如何实时读取变化的回显
求大佬帮忙,用python的netmiko模块登陆到交换机后,使用命令使交换机FTP去下载文件时,有个百分比的进度条如何实时读取出来,如下图
<SW1>ftp 192.168.56.1
Trying 192.168.56.1 ...
Press CTRL+K to abort
Connected to 192.168.56.1.
User(192.168.56.1:(none)):yl
331 Password required for yl
Enter password:
230 Logged on
[ftp]get GoodSync119.rar
200 Port command successful
150 Opening data channel for file download from server of "/GoodSync119.rar"
 67%
实时读取这个百分数并实时显示,能看到下载进度
搜索更多相关主题的帖子: 回显 ftp 读取 实时 变化 
2023-04-04 18:24
YLin2512
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2023-4-4
得分:0 
回复 2楼 东海ECS
你好,华为设备没法使用recv_timing_output(),会报错:
Traceback (most recent call last):
  File "E:\python项目\1\test2.py", line 42, in <module>
    output = ssh.recv_timing_output()
AttributeError: 'HuaweiSSH' object has no attribute 'recv_timing_output'
2023-04-04 19:29
YLin2512
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2023-4-4
得分:0 
回复 2楼 东海ECS
代码如下,会报错:
程序代码:
from netmiko import ConnectHandler
import re

# 定义交换机登录信息
device_info = {
    'device_type': 'huawei',
    'ip': '192.168.56.11',
    'username': 'huawei',
    'password': 'Huawei@123',
}
# 登录交换机
with ConnectHandler(**device_info) as ssh:
    # 发送FTP下载命令
    ssh.send_command_timing('ftp 192.168.56.1')
    ssh.send_command_timing('yl')
    ssh.send_command_timing('123')
    ssh.send_command_timing('get GoodSync119.rar')
    # 循环读取输出结果,获取FTP下载进度信息
    while True:
        output = ssh.recv_timing_output()
        if re.search(r'\d+%', output):
            print(re.search(r'\d+%', output).group())
        if 'ftp>' in output:
            break
2023-04-04 19:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511788-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.108383 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved