Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AttributeError:<;类别>;实例没有属性<&燃气轮机;_Python_Pyserial - Fatal编程技术网

Python AttributeError:<;类别>;实例没有属性<&燃气轮机;

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:

我是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:
    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”)

  • 类Com缺少
    \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
    .........