当前位置:首页>python>自学编程第47课:Python 语音识别 + 命令执行——说句话,电脑就照做

自学编程第47课:Python 语音识别 + 命令执行——说句话,电脑就照做

  • 2026-10-05 20:13:08
自学编程第47课:Python 语音识别 + 命令执行——说句话,电脑就照做

在上一课,我们让电脑听到了人说话,但Tyree 说:“它光是听,听完就没了,能不能让它听完之后真的干点什么事?比如我说‘打开浏览器’,它就真的把浏览器打开。”

这个是可以实现的。只要把‘识别出文字’和‘执行动作’连在一起就行了。今天咱们就做这个。

他立马坐好:“那你快教教我吧。”

今天我们就来做一个最简单的语音命令执行器:你对电脑说“打开浏览器”,它就真的把浏览器打开。

01. 安装必要的库

除了之前的`SpeechRecognition`,本课还需要一个能控制系统行为的模块:`webbrowser`。它是 Python 自带的,不需要额外安装。

pip install SpeechRecognition

如果需要麦克风,还需要`pyaudio`(安装方法见第46课)。`webbrowser` 是 Python 内置模块,不用装。

02. 什么是 `webbrowser` 模块?

`webbrowser` 是 Python 自带的一个模块,它的作用是用系统默认的浏览器打开一个网址。

你只需要告诉它“打开这个网址”,它就会自动调用你电脑上的默认浏览器(Chrome、Edge、Firefox 等)。

运行上面这两行代码,你的默认浏览器会自动打开百度首页。

为什么用它呢?

因为它最简单。你不需要知道浏览器装在哪个文件夹,不需要写复杂的系统命令,一行代码就能搞定。

03. 第一个完整程序:说“打开浏览器”,它就打开浏览器

下面我们来看看这个程序怎么写的,看下面代码截图:

运行后,就会提示你说话,然后执行命令打开网站

代码解释:

`webbrowser.open("https://www.baidu.com")` 是核心动作,它会用系统默认浏览器打开百度。

-`if "打开浏览器" in text:` 判断用户说的话里是否包含“打开浏览器”这几个字。

如果包含,就执行打开浏览器的操作。注意,这里用的是 `in`,不是 `==`。这意味着用户说“帮我打开浏览器”或“打开浏览器吧”也能触发,只要包含关键词即可。

-如果用户说的话里没有“打开浏览器”,程序会打印“未识别到命令”,然后结束。

04. 循环“监听”:持续等待命令

单次识别只能执行一次命令,如果想持续“监听”,把它放进循环里:

上图中框起来的持续“监听“的代码。

- `while True` 使程序一直运行,直到用户说“退出”才会结束。

- `elif` 用来扩展多个命令。如果你想增加“打开记事本”或“打开计算器”,就在 `elif` 后面继续添加。

- `break` 在识别到“退出”时跳出循环,结束程序。

- `timeout=5` 和 `phrase_time_limit=8` 的作用与第46课相同(分别控制等待时间和单次录音长度)。

05. 增加更多命令:打开不同网站

我们还可以把命令扩展成多个,让电脑做不同的事:

每添加一个`elif`,程序就多听懂一个命令。

为什么要用`elif` 而不是多个 `if`? 

因为`elif` 是“否则如果”,一旦有一个条件匹配,后面的就不会再判断。

而多个 `if` 会逐个判断,即使第一个匹配了,后面的也会继续判断,浪费性能。在这个场景下没有功能差异,但 `elif` 更高效。

06. 如果要打开其他软件怎么办?

`webbrowser` 只能打开网址,不能直接打开电脑上的软件(如记事本、计算器)。

如果要打开本地软件,需要用 

Python 的 `os.system` 或 `subprocess` 模块。

或者:

但不同操作系统的命令不同,

Windows 用 `notepad.exe`,

Mac 用 `open -a TextEdit`。

08. 今天学到了什么

- `webbrowser.open(url)`:用默认浏览器打开指定网址。

- `if "关键词" in text:`:判断用户说的话里是否包含某个关键词。

- `elif` 扩展多个命令。

- 从“识别”到“执行”的完整链路:麦克风录音 → 识别文字 → 关键词判断 → 执行动作。

好了,今天就到这里啦!

下一课我们学习:调用AI大模型接口——用 `requests` 调用DeepSeek等大模型,问它问题,让它回答。

————热门推荐————

少儿自学编程第40课:打包游戏成exe文件——把你用Python做的作品发给朋友

少儿自学编程第42课:用摄像头识别物体——让电脑“看见”世界

少儿自学编程第36课:太空避障——完整游戏设计与难度平衡

自学编程第7课:turtle画图入门(画一个正方形,五角形,螺旋形,三角形)

自学编程第6课:列表+循环+判断(做一个学生成绩分析器)

自学编程第3课:变量与数学计算(做一个年龄计算器)

自学编程第2课:用input让电脑问你名字(做一个打招呼程序)

自学编程第一步:安装Python和Thonny(零基础图文教程)

(本系列教程每天更新,欢迎关注收藏)

图 | 文 宝月小鹿 转载须标明出处

最新文章

随机文章