我有一个 python 模块问题:
我需要编写一个脚本,该脚本将从各种硬件中获取输出,然后将它们存储在数据库中。我知道当前的硬件,但我不知道将来会添加任何其他硬件。对不起,让我说得更具体一些。
该脚本将从连接到配电板的硬件模块中检索电源信息。这些模块获取原始传感器信息并通过 tcp/ip 使其可用。我已经在测试脚本中编写了询问硬件模块并收集信息的函数。问题是这需要部署在使用不同硬件模块的地方,而不仅仅是我知道的那些。所有硬件模块都将提供相同的信息,但它们都会以不同的方式进行。有些使用 telnet 或 ssh,有些提供网页,有些提供和 xml 输出,有些会使用 snmp。我想创建一种机制,可以为新设备编写 python 模块,该设备可以提取信息并以标准方式将其提供给脚本,以便脚本可以填充数据库并且生活照常进行。
因此,不是每次遇到新的硬件模块类型时都向脚本添加一个新函数,然后将其包装在“if”语句等中……有没有一种机制可以将该函数卸载到可以动态添加到模块中的模块中脚本。我想我想到了一个插件类型机制。但我认为这不太合适。
任何关于使用或实施此类东西的地方的建议或指示将不胜感激。