Обнаружение изменений в ключах словаря в Python без непрерывного опросаPython

Программы на Python
Ответить
Anonymous
 Обнаружение изменений в ключах словаря в Python без непрерывного опроса

Сообщение Anonymous »

Я работаю над менеджером конфигурации на Python, который загружает настройки в словарь и динамически обновляет их во время выполнения. Проблема, с которой я столкнулся, заключается в обнаружении изменения ключей внутри словаря.
Мой подход заключается в непрерывном опросе каждые 500 мс и сравнении снимков словаря. Это кажется неэффективным и не обеспечивает надежного отслеживания быстрых обновлений последовательности. Я хочу, чтобы он работал для такого кода:
config = {"mode": "idle">
for i in range(10):
config["mode"] = f"state_{i}"
time.sleep(0.1)
Я провел исследование и обнаружил:
установщик свойств/дескрипторы работают только для атрибутов, а не словарного ключа назначения.
Подкласс MutableMapping по-прежнему требует переопределения setitem, но это не перехватывает вложенные словари.
сторожевой таймер наблюдает за событиями файловой системы, а не за обновлениями словаря в памяти.
Мне нужно руководство, подходит ли sys.setprofile() или sys.settrace() для мониторинга записи значений словаря, или есть ли еще эффективный подход.
К вашему сведению, этот словарь конфигурации может содержать глубоко вложенные структуры.

Подробнее здесь: https://stackoverflow.com/questions/798 ... us-polling
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»