如何 运行 在后台程序中进行循环,同时代码继续执行其他操作

How to run a loop from a program in background while the code proceeds to do other things

所以,我想做一个私人助理,我想做一个提醒类型的命令。 这是提醒(通知)的代码。 说话和接受命令功能是自定义的。

elif "remind" in query:
        speak("what should i remind you")
        messageT = takeCommand()
        speak("ok, so when should i remind you.")
        timeOfReminder = takeCommand()
        while True:
            current_time = tm.strftime("%H:%M:%S")
            if current_time == timeOfReminder:
                print(current_time)
                break;

        toaster = ToastNotifier()
        toaster.show_toast(messageT,
                        duration=10)

所以问题不在于这段代码,而是代码包含一个 while 循环,它禁止我继续我的代码(整个代码也是 while 循环的一部分,其中包含所有命令)。 我想知道如何在另一个主 while 循环的 parellel 中喜欢 运行 这个循环(这个 while 循环检查时间,而主 while 循环检查用户给出的命令。) 有什么办法可以做到这一点(如果你愿意,我可以 post 我的完整代码,如果有帮助的话)。

使用 Python 中的 threading 库 3.

import threading

创建函数:

def my_long_function():
    while 1:
        print("runs in background")
        time.sleep(1)

long_thread = threading.Thread(target=my_long_function)
long_thread.start()

while 1:
    print("Running in foreground")
    time.sleep(3)

希望这对你有用!