Python «Объект не имеет атрибута», но на самом деле он имеетPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python «Объект не имеет атрибута», но на самом деле он имеет

Сообщение Anonymous »

Я готовлю два сценария: один с классом для связи с источником питания постоянного тока, а второй для управления связью.
dcom.py:

Код: Выделить всё

import socket

class supply:

def __init__(self, IP, PORT, BUFFER_SIZE, TIMEOUT_SECONDS):
self.IP = IP
self.PORT = PORT
self.BUFFER_SIZE = BUFFER_SIZE
self.TIMEOUT_SECONDS = TIMEOUT_SECONDS
self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

def opensocket(self):
supply.connection.connect((supply.IP, supply.PORT))
supply.connection.settimeout(supply.TIMEOUT_SECONDS)

def sendAndReceiveCommand(self, msg):
msg = msg + '\n'
supply.connection.sendall(msg.encode('UTF-8'))
return supply.connection.recv(supply.BUFFER_SIZE).decode('UTF-8').rstrip()

def sendCommand(self, msg):
msg =  msg + '\n'
supply.connection.sendall(msg.encode('UTF-8'))

def initialize(self):
return supply.sendAndReceiveCommand('*IDN?')

def readVoltage(self):
return supply.sendAndReceiveCommand('SOUR:VOLT?')

def readCurrent(self):
return supply.sendAndReceiveCommand('SOUR:CUR?')
main_comm.py:

Код: Выделить всё

import dcom

SUPPLY_IP = '10.41.32.2'
SUPPLY_PORT = 8462
BUFFER_SIZE = 128
TIMEOUT_SECONDS = 10

supply = dcom.supply(SUPPLY_IP, SUPPLY_PORT, BUFFER_SIZE, TIMEOUT_SECONDS)

print(supply.connection)
supply.opensocket()
Когда я запускаю main_comm.py, результат:

Traceback (последний вызов — последний):
Файл «C:\Users\Ryszard\Documents\WroblewskiW\DC_supply_comm\main_comm.py», строка 11, в
Supply.opensocket()
Файл «C:\Users\Ryszard\Documents\WroblewskiW\DC_supply_comm\dcom.py», строка 15, в opensocket
supply.connection.connect((supply.IP, Supply .PORT))
^^^^^^^^^^^^^^^^^
AttributeError: объект типа «поставка» не имеет атрибута «соединение»
Как видите, сначала я могу напечатать значение атрибута объекта «соединение», что, как я полагаю, означает, что этот атрибут существует. Однако позже я получаю сообщение об ошибке, что у этого объекта нет такого атрибута.
У вас есть идеи, как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/786 ... lly-it-has
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»