SecureCRT python脚本
问题描述:
我正在编写一个脚本,它将查找哪些路由器型号和Cisco路由器正在使用的IOS版本。我正在使用SecureCRT API在Python中编写它。脚本发送show version命令,显示有关路由器的信息,包括我需要的信息。然后我使用SecureCRT api从应用程序屏幕提取所有文本,然后遍历文本并使用if语句来匹配路由器模型以查看它是哪一个。每次我运行它运行的脚本并没有错误,但“new.txt”文件是空白的。SecureCRT python脚本
# $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)
答
我在我的手机上,可能会写一个更好的答案,但我即将上床睡觉。你永远不会关闭你打开的文件。使用以下工作更好。
with open(file, "w") as fp:
fp.write(variable)
ModelIOSScreen是什么样的?if/elif在做什么? – 2014-09-10 22:15:46
这是文件的结尾吗?如果是这样,你永远不会调用Main(),因此没有任何事情会被执行。 – 2014-09-10 22:24:18
@SirDigbyChickenCaesar,那么就没有文件是空的或不是。 – 2014-09-10 22:25:28