如何将python代码转换为graphviz格式

时间:2014-03-04 05:12:05

标签: python graphviz

我似乎找不到任何关于如何使用graphviz的说明。我有python webcrawler代码输出网站列表,我想改变打印的格式,但不知道如何使graphviz可读。如果有人能指出我正确的方向,提供任何提示,或链接我任何python - > graphviz教程或说明,我将不胜感激。

当“www.google.com”作为arg传递时输出

{'www.google.com':{'news.google.com','play.google.com','www.youtube.com','mail.google.com','maps.google。 com','plus.google.com','drive.google.com','accounts.google.com'}}

1 个答案:

答案 0 :(得分:0)

我不清楚您希望如何在此应用程序中使用GraphViz。但是,根据您描述的字典,您可以生成GraphViz脚本来绘制它,如下所示:

gr = {'www.google.com': ['news.google.com', 'play.google.com', 'www.youtube.com',
      'mail.google.com', 'maps.google.com', 'plus.google.com',
      'drive.google.com','accounts.google.com']}

print ("digraph G {\nrankdir=LR;")
n = 0
lookup = {}
for root in gr.keys():
    if not (root in lookup):
        lookup[root] = n
        print ('n%d [label="%s"];' % (n,root))
        n += 1
    for leaf in gr[root]:
        if not (leaf in lookup):
            lookup[leaf] = n
            print ('n%d [label="%s"];' % (n,leaf))
            n += 1
        print ('n%d -> n%d;' % (lookup[root],lookup[leaf]))

print ("}")

当运行dot时,此Python脚本的输出将为您提供:

enter image description here