РЕДАКТИРОВАТЬ: я вижу, что вы тот, кто задал предыдущий вопрос!Зачем открывать новый?
Недавно был задан вопрос об этой конкретной проблеме - структура, которую вы моделируете, представляет собой ориентированный граф .Смотрите мой ответ на этот вопрос, используя пакет Python networkx
.Использование этого пакета - хорошая идея, если вы собираетесь выполнить некоторую постобработку данных.Однако для простых ситуаций вы можете создать собственную структуру данных.Вот пример, использующий представление графа в списке смежности;вместо этого нетрудно использовать матрицу смежности.
from collections import defaultdict
adj_list = defaultdict( set )
for filename in os.listdir( <dir> ):
with open( filename ) as theFile:
for line in theFile:
# parse line into filename, say 'target'
adj_list[ filename ].add( target )
Это даст вам словарь имен файлов -> файлов, связанных этим файлом.