如何使此网络配置代码可扩展到许多设备?

2024-03-29 04:55:48 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有更多的建议。 我正在编写一些代码(下面的代码片段),以获取、编辑和优化一些网络设备上的配置。 我需要解决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)

Tags: 代码infoclientoutputconnectorreturndevicedef