В настоящее время возникает следующая проблема: У меня есть сценарий, который запускает программу командной строки, чтобы найти все файлы с определенным расширением в определенной папке, давайте назовем эти файлы файлом А. Другой раздел сценария запускает команду grep через каждый файл для имен файлов в файле А. Что будет лучший способ сохранить имена файлов в файле A и только в файле A, и как я мог этого добиться? Спасибо
РЕДАКТИРОВАТЬ: Я вижу, это вы задали предыдущий вопрос! Зачем открывать новый?
Недавно был задан вопрос именно по этой проблеме — структура, которую вы моделируете, представляет собой ориентированный граф. См. мой ответ на этот вопрос, используя пакет 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 )
Это даст вам словарь имен файлов -> файлы, связанные с этим файлом.