这是一个telnet会话,我希望连接多个会话。
import telnetlib
import time
tn = telnetlib.Telnet("10.13.135.3",23)
time.sleep(10)
tn.write("/H")
print tn.read_until("Enter Password:")
tn.write("power" + "rn")
time.sleep(5)
print tn.read_eager()
tn.read_until("IPS>")
tn.write("/OFF 1" +"rn")
time.sleep(2)
它很简单。。。你可以像这样建立额外的连接。
tn1 = telnetlib.Telnet(...)
tn2 = telnetlib.Telnet(...)
然后你就可以像往常一样使用它们了
我认为您想要的是创建多个同时的会话。我建议使用线程或多处理。下面是一个使用多处理的示例(https://docs.python.org/2/library/multiprocessing.html)
import multiprocessing
import telnetlib
import time
def connect():
tn = telnetlib.Telnet("10.13.135.3",23)
time.sleep(10)
tn.write("/H")
print tn.read_until("Enter Password:")
tn.write("power" + "rn")
time.sleep(5)
print tn.read_eager()
tn.read_until("IPS>")
tn.write("/OFF 1" +"rn")
time.sleep(2)
if __name__ == '__main__':
num_connections = 5 # This should be an arg (--num_connections)
processes = []
for i in range(num_connections)
p = multiprocessing.Process(target=connect, args=())
p.start()
processes.append(p)
for p in processes:
p.join()