SecureCRT python脚本

时间:2014-09-10 22:13:19

标签: python scripting secure-crt

我正在编写一个脚本,可以找出路由器型号和Cisco路由器使用的IOS版本。我使用SecureCRT api在Python中编写它。该脚本发送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 个答案:

答案 0 :(得分:1)

我在手机上,可能会写一个更好的答案,但我要去睡觉了。您永远不会关闭您打开的文件。使用以下工作效果更好。

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