У меня есть приложение на основе Python, которое может принимать несколько команд в простом цикле read-eval-print-loop. Я использую raw_input('> ')
, чтобы получить ввод. На Unix-системах я также import readline
заставлял себя вести себя немного лучше. Все это работает нормально.
Проблема в том, что появляются асинхронные события, и я хотел бы напечатать вывод, как только они произойдут. К сожалению, из-за этого все выглядит ужасно. Строка ">" больше не появляется после вывода, и если пользователь наполовину набирает текст, он разбивает его текст пополам. Вероятно, он должен перерисовывать пользовательский текст после печати чего-либо.
Кажется, это должно быть решенной проблемой. Как правильно это сделать?
Также обратите внимание, что некоторые из моих пользователей работают под управлением Windows.
1011 * ТИА *
Редактировать: Принятый ответ работает на платформах Unixy (когда доступен модуль readline), но если кто-нибудь знает, как заставить это работать под Windows, это было бы очень полезно!