Уведомления

Группа в Telegram: @pythonsu

#1 Март 10, 2017 17:23:35

Guljaca
От:
Зарегистрирован: 2011-07-11
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельная работа raw_input() и цикла в консоли

Нужно, чтобы паралельно с raw_input() работал цикл while. Т.е чтобы в консоли отображалась новая информация, пока пользователь вводит данные.
Нашел multiprocessing and thread, но применить на практике не получается. Вроде бы на это дело некий ограничитель стоит.
Что-то вроде такого:

 x=0
while x==0: print 'spam'
x=raw_inpit()



Офлайн

#2 Март 10, 2017 18:17:58

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Параллельная работа raw_input() и цикла в консоли

Не надо так делать. Это будет нестандартное поведение консоли которое никому не понравится. Если есть такая потребность, сделайте GUI приложение.



Офлайн

#3 Март 10, 2017 18:38:44

Guljaca
От:
Зарегистрирован: 2011-07-11
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельная работа raw_input() и цикла в консоли

Так бы и сделал, если бы помнил PyQt, а не инструменты, которые я на нем написал и потерял…
Ну а в принципе, как оно реализуется? В том же Qt помнится такая проблема была.
Тем более, что я уже делов натворил, и хочется закончить работу.



Офлайн

#4 Март 10, 2017 19:05:03

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Параллельная работа raw_input() и цикла в консоли

Guljaca
В том же Qt помнится такая проблема была.
Нет проблемы. Вы пишите многопоточное или асинхронное приложение и получаете одновременную работу нескольких устройств ввода вывода. Но консоль это одно устройство совмещающее ввод и вывод, вы вводите команду и получаете результат.
Покажитепример какой-то другой консольной программы, которая работает примерно так как вы хотите.



Офлайн

#5 Март 10, 2017 19:30:27

Guljaca
От:
Зарегистрирован: 2011-07-11
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельная работа raw_input() и цикла в консоли

Ну по идее можно обновлять информацию в консоли с незаметной для глаза частотой, и сохранять результаты, введенные в коммандную строку, до подтверждения комманды, что позволит использовать и один интерфейс… Но возможно это извращение, да и не знаю, как на таком уровне управлять консолью.
Пожалуй, я тогда еще почитаю на эту тему и отпишусь еще раз.
P.s. Помнится я так делал, когда надо было расчитывать действия ИИ вне зависимости от действий оператора и его реакцию на ввод команды, но это было слишком давно.



Отредактировано Guljaca (Март 10, 2017 19:34:19)

Офлайн

#6 Март 11, 2017 06:51:47

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Параллельная работа raw_input() и цикла в консоли

1. Есть системно зависимый kbhit который можно использовать для переключения режимов.
2 есть curses gui для консоли.
3 можно стартовать 2 консоли, одна для вывода данных, другая для ввода и вывода echo

Но все это фуфло, вашим требованиям удовлетворяет gui программа. Другими способами это сделать сложнее. Давно не писали это отговорка.



Офлайн

#7 Март 11, 2017 21:34:58

Guljaca
От:
Зарегистрирован: 2011-07-11
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельная работа raw_input() и цикла в консоли

Благодарю за ответ.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version