【问题标题】:using Python/Pexpect to crawl a network使用 Python/Pexpect 爬取网络
【发布时间】:2010-07-28 20:51:42
【问题描述】:

这更像是一个逻辑思维问题,而不是编码问题。 我已经有一些工作代码块 - 一个远程登录到设备,一个解析命令结果,一个填充字典等

现在假设我想分析一个包含未知节点、a、b、c 等的网络(但我只知道 1 个)

我给我的代码块节点a。结果是一个包含 b、c 的表格。我把它保存在字典里

然后我想使用第一个条目 (b) 作为目标,看看它可以看到什么。可能是 d、e 等并将这些(如果有)添加到 dict

然后在这个新填充的字典中的下一个节点上执行相同的操作。最终输出将是所有节点都只被访问过一次,并且所有看到的设备都记录在这个(或另一个)字典中。

但是我不知道如何随着字典的增长而不断地重新阅读它,我也不知道如何避免多次查看设备。

我知道这对我来说比我解释的更清楚,如果造成混淆,请道歉

【问题讨论】:

    标签: python dictionary pexpect


    【解决方案1】:

    您正在查看图形算法,特别是 DFSBFS。您是具体询问实现细节,还是更笼统地询问算法?

    递归将是一种非常巧妙的方式。

    seen = {}
    def DFS( node ):
        for neighbour in node.neighbours():
            if neighbour not in seen:
                seen[ neighbour ] = some_info_about_neighbour
                DFS( neighbour )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多