所以,我试图制作一个个人助理,我想制作一个提醒类型的commnd。这是提醒(通知(的代码。以及speak和takecommand功能是自定义的
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循环的一部分(。我想知道如何在另一个main while循环的并行中运行这个循环(这个while循环检查时间,而main while环路检查用户给出的命令。(有什么方法可以做到这一点吗(如果你愿意,如果有帮助的话,我可以发布我的完整代码(。
使用Python 3中的threading
库。
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)
希望这对你有用!