Я пытаюсь создать программный пакет, который исправляет произвольные несоответствия данных в одной из моих баз данных.Мой дизайн включает в себя два класса - Problem
и Fix
.
. Проблемы состоят в том, что запросы SQL хранятся в виде .cfg
файлов (например, problem_001.cfg
), а исправления хранятся в виде файлов Python (например, * 1007).*).Файл конфигурации запроса содержит ссылку на имя файла Python.Каждый исправитель имеет отдельный класс Fix
, который наследуется от базового класса BaseFix
.
`-- problems
|-- problem_100.cfg
|-- problem_200.cfg
|-- problem_300.cfg
`-- ...
`-- fixer
|-- __init__.py
| |-- fixers
| | |-- fix_100.py
| | |-- fix_200.py
| | |-- fix_300.py
| | |-- ...
| `-- ...
`-- ...
Я хотел бы создать экземпляры Problem
файлов и снабдить их объектами Fix
чистым способом,Есть ли способ сделать это без сохранения всех исправлений в одном файле?
ОБНОВЛЕНИЕ:
Это последний работающий код (спасибо, @ Space_C0wb0y):
fixer_name='fix_100'
self.fixer=__import__('fixer.fixers', globals(), locals(),
[fixer_name]).__dict__[fixer_name].Fix()