如何在命令输出中跳过<---More--->(Netmiko)

问题描述 投票:0回答:2

这是我的代码

import re
import netmiko 
import sys
import json

def get_results(ip, login, password):

    device = {
        'device_type': 'cisco_asa',
        'ip': ip,
        'username': login,
        'password': password,
        'secret': password,
        'global_delay_factor': 2
    }

    try:
        net_connect = netmiko.ConnectHandler(**device)

    except Exception as e:
        print("Ошибка при подключении:", e)
        return

    try:
        output = net_connect.send_command_timing("show aaa-server NPS_MFA_TEST", strip_prompt=False)
        print(output)
    except Exception as e:
        print("Ошибка при выполнении команды:", e)
        net_connect.disconnect()
        return

    result = {}
    match_group = re.search(r"Server Group:\s+(\S+)", output)
    if match_group:
        result["Server Group"] = match_group.group(1)

    match_address = re.search(r"Server Address:\s+(\S+)", output)
    if match_address:
        result["Server Address"] = match_address.group(1)

    return json.dumps(result)

if __name__ == "__main__":
    if len(sys.argv) == 4:
        ip = sys.argv[1]
        username = sys.argv[2]
        password = sys.argv[3]
        result = get_results(ip, username, password)
        print(result)
    else:
        print("Неверное количество аргументов") 

但结果是发送短路输出(需要按 Enter 或 Space 按钮)。我怎样才能跳过它?

我尝试在设备对象中添加

'global_delay_factor': 2
并尝试将
strip_prompt=False
作为
send_command
参数。但这没有用

python cisco netmiko
2个回答
1
投票

登录 Cisco 设备后,您需要发送命令

terminal length 0
作为第一个命令。


-1
投票

我不确定,尝试在终端中按 q 可能可以访问

© www.soinside.com 2019 - 2024. All rights reserved.