您好我有以下代码并不断收到此错误消息:
NameError:名称'serial'未定义
我已经从许多教程中复制了这段代码,但是如果有人告诉我为什么它就行不通了?
from serial import*
ser = serial.Serial('/dev/ttyACM0', 9600)
while 1:
ser.readline()
答案 0 :(得分:1)
以这种方式导入时:
from serial import *
您正在导入内容,就好像它们是在实际文件中声明的一样。来自Python Docs:
这将导入除以下划线(
_
)开头的所有名称。请注意,一般来说importing * from
模块或包的做法是不受欢迎的,因为它经常会导致代码难以理解。但是,可以使用它来保存交互式会话中的输入。
所以你可以像Serial
那样打电话:
ser = Serial('/dev/ttyACM0', 9600)
如果您不想以这种方式导入(您可能在覆盖字段或已使用的标识符时遇到问题),您可以使用:
import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
答案 1 :(得分:0)
您的第一行必须是:
from serial import *
import
和*
之间需要一个空格。
其次,当您以这种方式导入时,您不需要添加serial
。它应该是:
ser = Serial('/dev/ttyACM0', 9600)
答案 2 :(得分:0)
您需要安装pySerial。如果不这样做,请尝试
sudo apt-get install python-serial