我正在使用Python Anaconda 2.7。我想使用串行通信切换端口,但我收到错误:AttributeError: 'module' object has no attribute 'Serial'
我的示例程序是:
import serial
import time
#remember to adjust “COM3”
port = serial.Serial("COM3", 19200, timeout=0.5)
#turn on port 2, sleep 2 seconds, turn off port 2
port.write(b"\nF2\r")
time.sleep(2.0)
port.write(b"\nF2\r")
#turn on port 2 and 7, sleep 2 seconds, turn off port 2 and 7
port.write(b"\nF2\r\nF7\r")
time.sleep(2)
port.write(b"\nF2\r\nF7\r")
#close the port
port.close()
我尝试了很多解决方案:
当我从心理学中运行相同的程序时,它工作得非常好。我不知道如何解决它。如果有人可以给我一些建议,那将对我有很大的帮助。提前感谢你。
拉维
答案 0 :(得分:1)
您的代码似乎很好,因此您遇到的问题可能是由于导入错误。
你真的应该避免将你的python脚本命名为"标准" modules(serial.py,string.py ...),因为通过这样做,你会暴露自己意外导入那些文件而不是正确的文件(可能发生在你身上的事情)。
如果您需要确定要导入的内容,请尝试以下操作:
import serial
print serial.__file__ # this will tell you the position of the file you've imported and help you to be sure of what you're using.
# in case you're not importing a module, only a class... try this :
help(serial) # even without any help, it will give you at the end the path where this object is defined :)