Как распечатать результаты в потоке при изменении значений в цикле меню? - PullRequest
0 голосов
/ 24 апреля 2019

Я пишу программу, которая будет выбирать данные из данных на основе требований.И я хотел бы иметь возможность обновлять эти требования в любой момент.Но когда я добавил простое меню, другие темы не работали.Это печатная «тестовая» функция только в начале.

def print_menu():
print("1 - Pairs requirements update")
print("2 - Favorite pairs update")


def menu_loop():
    while True:
        print_menu()
        choice = int(input("Enter your choice [1-2]: "))

        if choice == 1:
            requirements()
        elif choice==2:
            get_favorite()

        else:
            raw_input("Wrong option selection. Enter any key to try again..")

def print_results():
      while True:
          print('Start printing test')
          time.sleep(1)


threads = [threading.Thread(target=menu_loop),
           threading.Thread(target=print_results)]
[thread.start() for thread in threads]
[thread.join() for thread in threads]

Что здесь происходит и как печатать тест все время во время работы меню?

Редактировать (решение) : я изменил цикл меню, используябиблиотека клавиатуры, и она работает, но не знаю, оптимально ли это.

def menu_loop():
    while True:
        try:
            if keyboard.is_pressed('q'):
                while True:
                    print_menu()
                    choice = int(input("Enter your choice [1-3]: "))

                    if choice == 1:
                        requirements()

                    elif choice==2:
                        get_favorite()

                    elif choice==3:
                        break
                    else:
                        raw_input("Wrong option selection. Enter any key to try again..")
            else:
                pass
        except:
            break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...