python脚本编写工具(python自动化巡检脚本)

来源:网络技术联盟站 

本脚本使用了 pexpect 库来自动化 Telnet 登录到交换机并执行命令,然后将输出保存到文件中。如果你想要将输出存储到 Excel 文件中,你可以使用 openpyxl 库来实现。

python脚本编写工具(python自动化巡检脚本)

下面是一个将你提供的脚本与 Excel 输出结合的示例:

import pexpect
import sys
import datetime
import openpyxl

# 定义交换机信息和命令
switch_info = {
    \\\"ip\\\": \\\"x.x.x.x\\\",
    \\\"passwd\\\": \\\"xxxx\\\",
    \\\"name\\\": \\\"<F5-Core-S12508>\\\",
    \\\"name1\\\": \\\"---- More ----\\\"
}

# 创建 Excel 工作簿和工作表
workbook = openpyxl.Workbook()
worksheet = workbook.active
worksheet.title = \\\"Switch Inspection\\\"

child = pexpect.spawn(\\\'telnet %s\\\' % switch_info[\\\"ip\\\"])
child.expect(\\\'login:\\\')
child.sendline(\\\"admin\\\")
child.expect(\\\'(?i)ssword:\\\')
child.sendline(switch_info[\\\"passwd\\\"])
child.expect(switch_info[\\\"name\\\"])

# 执行命令并将输出写入 Excel
def execute_command(command):
    child.sendline(command)
    child.expect(switch_info[\\\"name1\\\"])
    result = child.before.decode(\\\"utf-8\\\")
    return result

# 执行各个命令并写入 Excel
commands = [
    \\\"display power\\\",
    \\\"display version\\\",
    \\\"display environment\\\",
    \\\"display fan\\\",
    \\\"display cpu-usage\\\",
    \\\"display memory\\\",
    \\\"display interface brief\\\",
    \\\"dis logbuffer\\\",
    \\\"display ip routing-table\\\",
    \\\"display irf link\\\",
]
for command in commands:
    output = execute_command(command)
    worksheet.append([command, output])

child.sendline(\\\"quit\\\")
child.expect(pexpect.EOF)

# 保存 Excel 文件
excel_filename = f\\\"switch_inspection_{datetime.date.today().strftime(\\\'%Y%m%d\\\')}.xlsx\\\"
workbook.save(excel_filename)
print(f\\\"Inspection results saved to {excel_filename}\\\")

在这个示例中,我使用了 openpyxl 库来创建 Excel 工作簿和工作表,并在每次执行命令后将输出写入 Excel 表格中。你可以根据实际需要进一步调整和优化这个脚本,确保交换机命令的执行和输出的写入都能符合你的要求。同时,记得确保在运行脚本之前安装了所需的库:

pip install pexpect openpyxl

自动化与 Telnet 进行交互时,稳定性和错误处理非常重要,因为网络环境可能会导致意外情况。

python脚本编写工具(python自动化巡检脚本)

原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/34673.html

Like (0)
网络技术联盟站的头像网络技术联盟站
Previous 2024年4月21日
Next 2024年4月21日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注