У меня есть несколько (SQL) скриптов. Большинство из них имеют некоторые требования: другие сценарии, которые должны быть запущены раньше.
Можно представить объединенные деревья зависимостей как направленный граф . Я хотел бы иметь возможность «аннулировать» определенный узел в графе, что привело бы к составному сценарию, который содержит все (в правильном порядке), что должно быть повторно запущено для достижения состояния готовности.
Я думаю о чем-то вроде процесса запуска Debian... с поворотом.
Изменить: Если кому-либо нужен явный вопрос, начинающийся с W и заканчивающийся вопросительным знаком, ближайший я могу дать: Как достичь описанного выше поведения.
Edit2: Идеальным решением было бы сканирование файлов, соответствующих образцов, и чтение информации о зависимостях из первой строки (комментария).
-121--1850813-
Этот вопрос уже имеет ответ здесь:
Я знаю, что вопрос циклического импорта в python поднимался много раз и я прочитал эти обсуждения. Замечание, которое неоднократно делается в этих обсуждениях, заключается в том, что циклический импорт является признаком плохого дизайна и код должен быть реорганизован, чтобы избежать циклического импорта.
Может ли кто-нибудь рассказать мне, как избежать циклического импорта в этой ситуации?: У меня есть два класса, и я хочу, чтобы каждый класс имел конструктор (метод), который принимает экземпляр другого класса и возвращает экземпляр класса.
Более конкретно, один класс является изменяемым, а один неизменным. Необходим неизменяемый класс для хеширования, сравнения и т.д. Изменяемый класс также необходим, чтобы делать вещи. Это похоже на наборы и фрозенсеты или на списки и кортежи.
Я могу поместить оба определения класса в один модуль. Есть ли другие предложения?
Примером игрушки может быть класс A, который имеет атрибут, который является списком, и класс B, который имеет атрибут, который является кортежем. Затем класс A имеет метод, который принимает экземпляр класса B и возвращает экземпляр класса A (путем преобразования кортежа в список), и аналогично класс B имеет метод, который принимает экземпляр класса A и возвращает экземпляр класса B (путем преобразования списка в кортеж).