Реализация цикла событий для Python 3?

Кто-нибудь знает о библиотеке петель событий (или привязках), доступных для Python 3? Ничего страшного, если он работает только в системах UNIX, хотя я бы предпочел что-то, что делает и Windows.

ЭТА: Я понимаю, что написать систему обработки событий не так уж сложно. Тем не менее, я не хочу изобретать велосипед (мы все еще поощряем не делать этого в наши дни, верно?;-))

Это запланировано для серверного приложения, поэтому, очевидно, я бы хотел что-то, что не связано с инструментарием графического интерфейса или что-то еще.

Если ответ "Нет, его нет" (вероятно, я уверен, что, черт возьми, не могу его найти), то я, скорее всего, создам привязку для Python 3 для libev.

2 ответа

Решение

Я предлагаю что-то вроде:

while True:
    while queue:
        queue.pop()()

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

(Если вас больше интересует конкретная привязка к конкретной платформе, такой как GTK, Qt, WxWidgets, NCurses, Cocoa, Winforms, что угодно, тогда говорите это!).

libev доступен для python в виде модуля pyev: http://code.google.com/p/pyev/

Другие вопросы по тегам