Есть ли способ развернуть (библиотечное) обновление, не выключая основную программу - PullRequest
2 голосов
/ 16 ноября 2011

Вот пример, скажем, у нас есть два файла Python:

  1. Listener.py - Продолжайте прослушивать некоторый поток ввода
  2. Process.py - После того, как мы получимданные, Listener.py будет вызывать функции здесь и сохранять результаты в файл.

Допустим, мне нужно «улучшать / изменять» Process.py, но сам Listener.py очень стабилен,Возможно ли, что мы сможем каким-то образом перезагрузить более новую версию Process.py, не останавливая прослушиватель?(Дело в том, что если мы выключим слушателя, мы можем пропустить некоторые входящие данные)

1 Ответ

2 голосов
/ 16 ноября 2011

Я думаю, вы ищете функцию reload . Таким образом вы можете проверить время модификации модуля:

os.path.getmtime(filepath)

и затем, если он отличается от предыдущей проверки - перезагрузите модуль:

if module_source_is_modified(process):
    process = reload(process)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...