SecureCRT Python脚本编写

0 投票
1 回答
5865 浏览
提问于 2025-04-20 23:45

我正在写一个脚本,目的是找出一台Cisco路由器的型号和它使用的IOS版本。我用Python编写这个脚本,并且使用SecureCRT的API。这个脚本会发送一个“show version”的命令,这个命令可以显示路由器的信息,包括我需要的那些信息。接着,我使用SecureCRT的API从应用程序的屏幕上提取所有的文本,然后我会逐行检查这些文本,使用if语句来匹配路由器的型号,看看它到底是什么型号。每次我运行这个脚本,它都能正常运行,没有出错,但“new.txt”文件却是空的。

# $language = "python"
# $interface = "1.0"

crt.Screen.Synchronous = True
ModelIOSScreen = ""

def Main():
   ModelIOS()

def ModelIOS():
    crt.Screen.Send("show version" + chr(13))
    crt.Screen.WaitForString(">")
    Screen = crt.Screen.Get(-1, 1, 50, 70)
    ModelIOSScreen = str(Screen.split(" ", -1))

    RouterModel = ""

    for word in ModelIOSScreen:
        if word == "2811":
            RouterModel = "2811"
        elif word == "2801":
            RouterModel = "2801"
        elif word == "CISCO2911/K9":
            RouterModel = "2911"

    file = open("new.txt", "w")
    file.write(ModelIOSScreen)

1 个回答

1

我现在在手机上,可能能写出更好的回答,但我快要睡觉了。你打开的文件从来没有关闭。使用下面的方式会更好。

with open(file, "w") as fp:
  fp.write(variable)

撰写回答