Динамическое изменение конфигурации для отражения в пользовательских структурах данных - PullRequest
0 голосов
/ 25 апреля 2011

В моей программе я читаю «файл конфигурации» и из этого я инициализирую много классов.Мне нужен способ, чтобы динамические изменения в файле конфигурации могли успешно обновлять все классы.Как лучше всего добиться этого в Python?

Например: файл / etc / passwd состоит из

Имя пользователя: Пароль: Идентификатор пользователя: Идентификатор группы: ПользовательИнформация об ID: Домашний каталог: Shell

Моя программа Инициализирует пользовательские классы для каждого пользователя на основе входных данных в файле / etc / passwd.Если один или несколько атрибутов в пользовательской записи изменяются в файле динамически, как это можно прозрачно применить для повторной инициализации пользовательских классов?

PS - Фактическая программа намного сложнее, чем в приведенном выше примере.Поэтому прозрачное распространение изменений конфигурации в определяемые пользователем классы невозможно.

1 Ответ

0 голосов
/ 25 апреля 2011

Вы можете просмотреть изменения в файле, например, pyinotify (Linux) или watchdog (кроссплатформенный).Как только изменение обнаружено, вы можете обновить свои структуры данных.

Обновление имени пользователя (или другой «производной» информации, хранящейся в другом месте) лучше выполнить, сохранив (и используя) не его, а некоторые инварианты, которые никогда не меняются (например,UID), получение «производной» информации по запросу с соответствующим API и использование ее только для отображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...