Нужна помощь с NetworkX - PullRequest
       61

Нужна помощь с NetworkX

1 голос
/ 23 августа 2010

В настоящее время я столкнулся со следующей проблемой:

У меня есть скрипт, который просматривает определенный каталог, содержащий документы. Каждому документу присваивается номер в имени файла. Внутри каждого документа есть числа, которые также представляют другой документ (имя файла). Как я могу создать веб, который показывает, к каким документам к чему ведет?

Любая помощь будет оценена, спасибо

1 Ответ

2 голосов
/ 23 августа 2010

Это учебный пример ориентированного графа. Вам следует прочитать учебник NetworkX , чтобы лучше понять, как с ними работать; в основном вам нужно добавить все узлы (точки), в данном случае номера файлов, а затем добавить ребра между ними.

import os
import networkx as nx

g = nx.DiGraph( )
for filename in os.listdir( <dir> ):
    # do something to filename to get the number
    g.add_node( <number> )

for filename in os.listdir( <dir> ):
    # do something to filename to get the source
    with open( filename ) as theFile:
        # do something to theFile to get the targets
        for target in <targets>:
            g.add_edge( <source>, <target> )

import matplotlib.pyplot as plt
nx.draw( g )
...