Я создаю тэг lnet в одном методе класса. Теперь, если я передаю этот хэндл другому методу того же класса и пытаюсь выполнить команды, он не работает. Evrytime я должен подключиться перед выполнением команды из других методов. Любой способ передать дескриптор и использовать его без установления нового соединения
import telnetlib
import time
import re
import os
class Tel():
def __init__(self)
print("inside __init__ of Tel class")
self.HOST = "ABC"
self.username = "xyz"
self.password = "XYZ"
self.port = "20"
def open_telnet(self):
print("Connecting Telnet connection to", self.HOST, "at port", self.port)
try:
self.net = telnetlib.Telnet(self.HOST, self.port)
print("Connected to telnet")
except:
print("The telnet conection to",self.HOST,"failed")
return self.net
def sendcmd(ne,obj, command):
cmdoutput = 0
if obj == None :
print ("objecy is none IIII")
obj = ne.open_telnet()
try:
obj.write(command.encode('ascii') + b"\n")
except:
print("Not connected")
print(obj.read_until(b"+> ", 10).decode('ascii'))
print(cmdoutput)
return cmdoutput
ne_obj = Tel()
iim = ne_obj.open_telnet()
cmdoutput = ne_obj.sendcmd(iim,"help all")
print(cmdoutput)
ТАК, я передаю объект "iim" te lnet методу sendcmd, но кажется, что он не может выполнить команду , Когда я вызываю метод open_te lnet внутри метода sendcmd и получаю объект этого вызова, тогда он работает. Но я не хочу этого делать, я хочу подключиться один раз и использовать этот объект для других команд. Пожалуйста, предложите мне что-нибудь вроде