[Tutor] Capture telnet output to a file?

David Heiser David.Heiser at intelliden.com
Mon Oct 16 22:22:53 CEST 2006

Here is a snippet of code that may work for you:

import telnetlib

HOST = "myServer"
Username = "bob"
Password = "fido"

LoginList = ['=login:', '%s=password:' % (Username), '%s=$' %
(Password)]  ## Like an Expect script
Terminator = "$"

Telnet = telnetlib.Telnet(HOST)
i = 0
for LoginPair in LoginList:
    LoginPair = LoginPair.split("=")
    if i > 0:
        Telnet.write(LoginPair[0] + "\n")
    x = Telnet.read_until(LoginPair[1])
    print x
    i = i + 1
print "CONNECTED:"

CommandLine = "ls -l\n"

Blob = Telnet.read_until(Terminator)

print Blob

-----Original Message-----
From: tutor-bounces at python.org [mailto:tutor-bounces at python.org] On
Behalf Of dpotter at nc.rr.com
Sent: Monday, October 16, 2006 12:19 PM
To: Kent Johnson
Cc: tutor at python.org
Subject: Re: [Tutor] Capture telnet output to a file?

That looks like it will do what I want.

Thank You!

----- Original Message -----
From: Kent Johnson <kent37 at tds.net>
Date: Monday, October 16, 2006 2:06 pm
Subject: Re: [Tutor] Capture telnet output to a file?
To: dpotter at nc.rr.com
Cc: tutor at python.org

> dpotter at nc.rr.com wrote:
> > Hello,
> > 
> > I am trying to capture telnet output to a file.  For example I
> want to
> > telnet into a router and run the command "show arp" and be able to 
> > capture all the arp information that normally would show up on the
> > screen to a file on my system.    I am using python and pexpect to
> > backup my router configurations on a daily basis, but for this the 
> > router has the option to send the configuration via tftp to a
> server,> there is no option to send normal screen data to a file.
> Any ideas?
> You might be able to do this using telnetlib instead of pexpect.
> Kent
Tutor maillist  -  Tutor at python.org

More information about the Tutor mailing list