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 (most recent call last):
File "C:\\Users\\Ryszard\\Documents\\WroblewskiW\\DC_supply_comm\\main_comm.py", line 11, in \
supply.opensocket()
File "C:\\Users\\Ryszard\\Documents\\WroblewskiW\\DC_supply_comm\\dcom.py", line 15, in opensocket
supply.connection.connect((supply.IP, supply.PORT))
^^^^^^^^^^^^^^^^^
AttributeError: type object 'supply' has no attribute 'connection'
Как видите, сначала я могу напечатать значение атрибута объекта «соединение», что, как я полагаю, означает, что этот атрибут существует. Однако позже я получаю сообщение об ошибке, что у этого объекта нет такого атрибута.
У вас есть идеи, как это исправить?

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

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

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

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

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

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

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