如何 运行 在后台程序中进行循环,同时代码继续执行其他操作
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)
希望这对你有用!
所以,我想做一个私人助理,我想做一个提醒类型的命令。 这是提醒(通知)的代码。 说话和接受命令功能是自定义的。
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)
希望这对你有用!