【问题标题】:SecureCRT python scriptingSecureCRT python脚本
【发布时间】:2016-03-26 20:34:57
【问题描述】:

我正在编写一个脚本,它将找出 Cisco 路由器使用的路由器型号和 IOS 版本。我正在使用 SecureCRT api 在 Python 中编写它。该脚本发送一个显示版本命令,显示有关路由器的信息,包括我需要的信息。然后我使用 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)

【问题讨论】:

  • ModelIOSScreen 看起来像什么,if/elif 在做什么?
  • 文件到此结束了吗?如果是这样,您永远不会调用 Main(),因此不会执行任何操作。
  • @SirDigbyChickenCaesar,那么不会有空文件。

标签: python scripting secure-crt


【解决方案1】:

我正在打电话,可能会写出更好的答案,但我要睡觉了。你永远不会关闭你打开的文件。使用以下方法效果更好。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2022-10-18
    • 2020-11-15
    相关资源
    最近更新 更多