Может кто-нибудь порекомендовать питонный подход к загрузке кода adhoc? - PullRequest
0 голосов
/ 03 апреля 2012

В настоящее время у меня есть скрипт Python, который запускается каждые несколько минут и выбирает «правила», в моем случае классы Python, в файлах в дереве каталогов. для каждого класса, который он может загрузить, он запускает «execute ()» и, таким образом, позволяет мне делать полезные вещи, такие как файлы журнала монитора и т. д.

Сейчас я пересматриваю сценарий, чтобы сделать его самодокументированным, и мне кажется, что, возможно, есть более аккуратный способ подобрать эти специальные классы; может быть, рамки или хороший пример где-то.

Кто-нибудь может предложить аккуратное решение?

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Вы можете просто импортировать модули (используйте функцию __import__) и reload их, когда они меняются.

Обратите внимание, что у вас все еще будет проблема, заключающаяся в том, что существующие экземпляры классов не будут автоматически изменяться в соответствии с новым определением класса.

0 голосов
/ 03 апреля 2012

Я использую importlib с успехом. Проверить: https://github.com/jldupont/jlddk/blob/master/src/jlddk/tools_sys.py

...