停止代码运行的最高效方法

我正在用Python编写一个个人助理程序。目前,我正在规划所有要做的事情,但遇到了一个无法解决的问题。

我将运行一个主脚本,每3秒检查一次用户是否说了'Hello'。如果用户说了,那么它应该开始运行另一个脚本/函数,并停止当前的脚本。任务完成后,它应该再次开始运行主脚本(我将为每个任务使用不同的脚本以使代码更清晰)。我曾考虑过使用while循环,但不确定这是否是最佳选择。


回答:

select系统调用是一种非常高效的方法,可以在文件准备好读取之前等待,然后再执行操作:

import selectimport syswhile True:    reads, _, _ = select.select([sys.stdin], [], [], 3)    if reads:        line = reads[0].readline()        if line.strip().lower() == "hello":            # 执行某个操作            print("hi")

一旦读取到hello,并执行了你的函数或进程,程序将返回到读取stdin的状态。

请注意,这适用于POSIX系统,但不适用于Windows(除了套接字之外)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注