Python AttributeError:<;类别>;实例没有属性<&燃气轮机;
我是python新手,因此需要您对以下错误消息的帮助。我有两个文件,第一个是“test1.py”,它是我正在运行的,有以下代码Python AttributeError:<;类别>;实例没有属性<&燃气轮机;,python,pyserial,Python,Pyserial,我是python新手,因此需要您对以下错误消息的帮助。我有两个文件,第一个是“test1.py”,它是我正在运行的,有以下代码 import sys, time, re, os, pickle from ComLib import * obj = Com() obj.ComOpen() obj.ComReset() obj.ComClose() 第二个文件是“ComLib.py”,其代码如下 import serial, sys, re, pickle, time class Com:
import sys, time, re, os, pickle
from ComLib import *
obj = Com()
obj.ComOpen()
obj.ComReset()
obj.ComClose()
第二个文件是“ComLib.py”,其代码如下
import serial, sys, re, pickle, time
class Com:
def ComOpen(self):
self = serial.Serial()
self.port = "COM1"
self.baudrate = 9600
self.bytesize = serial.EIGHTBITS #number of bits per bytes
self.parity = serial.PARITY_NONE #set parity check: no parity
self.stopbits = serial.STOPBITS_ONE #number of stop bits
self.timeout = 1 #non-block read
self.xonxoff = True #disable software flow control
self.rtscts = False #disable hardware (RTS/CTS) flow control
self.dsrdtr = False #disable hardware (DSR/DTR) flow control
self.writeTimeout = 2 #timeout for write
self.open()
return
def ComClose(self):
self.close()
return
def ComReset(self):
print "Executing ComReset function...!!"
self.write("~~~~~~~~~~\r")
i = 0
while i<10 :
response = self.readline()
print "Inside first while loop...!!"
print "response = "+response
if (response == ':'):
print "-->colon found...ready for next input<---"
break
i=i+1
time.sleep(0.5)
return
导入序列、系统、re、pickle、时间
类别Com:
def ComOpen(自我):
self=serial.serial()
self.port=“COM1”
self.baudrate=9600
self.bytesize=serial.EIGHTBITS#每个字节的位数
self.parity=serial.parity_NONE#设置奇偶校验:无奇偶校验
self.stopbits=串行.stopbits_一个#停止位数
self.timeout=1#非块读取
self.xonxoff=True#禁用软件流控制
self.rtscts=False#禁用硬件(RTS/CTS)流量控制
self.dsrdtr=False#禁用硬件(DSR/DTR)流控制
self.writeTimeout=2#写入超时
self.open()
返回
def ComClose(自):
self.close()
返回
def ComReset(自复位):
打印“正在执行ComReset功能…”
self.write(“~~~~~~~~~~~\r”)
i=0
而我
您的减容应为:
然后您可以执行self.sSerial.write(“~~~~~~~~~~~\r”)
\uuuu init\uuuu
self=serial.serial()气味。。也许你想要的是尊严?同意。如果按照您认为的方式工作,那么您的实例将被替换为
串行
实例,并且不再具有任何方法。它不是那样工作的;您只需将局部变量self
重新分配给一个新的Serial
实例,然后在其上设置一些属性并调用其open()
。。。然后扔掉它。self.sSerial=serial.serial('COM1',波特率=9600)
听起来更直观。。。
"Traceback (most recent call last):
File "C:\Users\vgupta\Desktop\KeyAT\final\WDEAutomationTestSuite\WDETestSuite\Bootguard\TC#001.py", line 17, in <modul
e>
obj.ComReset()
File "C:\Users\vgupta\Desktop\KeyAT\final\WDEAutomationTestSuite\APILib\ComLib.py", line 52, in ComReset
self.write("~~~~~~~~~~\r")
AttributeError: Com instance has no attribute 'write'"
self.sSerial = serial.Serial()
self.sSerial.port = "COM1"
self.sSerial.baudrate = 9600
.........