首页 > 解决方案 > 如何使此网络配置代码适用于许多设备?

问题描述

更多在这里寻找建议。我正在编写一些代码(下面的片段)来获取、编辑和优化许多网络设备上的一些配置。我需要处理 1000 多个不同类型的设备,并且需要使这项工作非常高效。因此,了解多处理、使用生成器等会有所帮助,但不太清楚我应该如何在我拥有的此类结构中应用它们?

class Device_optimiser():
    @staticmethod
    def connector(**args):
        ssh_client = paramiko.SSHClient()
        for i in args["devices"]:
            try:
                ssh_client.connect(hostname= i['host'],
                                   username=args['username'],
                                   password=args['password'],
                                   port = 22)
            except Exception:
                ll.error("bad device")
            stdin, stdout, stderr = ssh_client.exec_command(i['command'])
            return stdout.read()

    @staticmethod
    def parser(msg):
        parsed_msg = msg + "some work"
        return parsed_msg

    @staticmethod
    def algorithm(parsed_msg):
        sort_selected_msg = parsed_msg + "some work"
        return sort_selected_msg

    @classmethod
    def main(cls, info):
        ssh_output = Device_optimiser.connector(**info)
        parsed_output = Device_optimiser.parser(ssh_output)
        Device_optimiser.algorithm(parsed_output)
        Device_optimiser.connector(**info)

标签: pythonnetworkingscalability

解决方案


推荐阅读