树莓派Pico使用match-case语法报错:SyntaxError: invalid syntax
问题原因与解决办法
核心问题
你遇到的语法错误是因为树莓派Pico上运行的MicroPython固件版本不支持match-case语法。虽然你提到使用的是Python 3.10.5,但Pico默认搭载的是MicroPython(而非标准CPython),而MicroPython直到较新版本(约1.19及以后)才加入对match-case的支持,旧版本固件会识别不了这个语法,直接抛出SyntaxError。
排查与解决步骤
- 先确认当前固件版本:在Thonny的Shell面板输入以下命令,查看输出的MicroPython版本号:
import sys print(sys.version)
- 如果版本低于1.19,更新MicroPython固件:
- 获取树莓派Pico对应的最新MicroPython固件
- 按住Pico上的BOOTSEL按钮,再将Pico连接到电脑,此时Pico会被识别为一个U盘
- 把下载好的固件文件拖入这个U盘,Pico会自动重启并完成固件更新
- 临时替代方案(不想更新固件时):将match-case代码替换为等价的if-elif结构,代码如下:
if command == b'1': led.value(1) elif command == b'0': led.value(0)
另外要注意Thonny的解释器配置:确保你选择的是Pico的MicroPython解释器,而非本地的CPython 3.10——本地CPython支持match-case,但实际运行代码的是Pico上的MicroPython环境。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

