diff -r 282f8322fc1b Lib/telnetlib.py --- a/Lib/telnetlib.py Fri Oct 30 02:47:48 2015 -0400 +++ b/Lib/telnetlib.py Fri Oct 30 15:22:41 2015 +0000 @@ -637,6 +637,12 @@ raise EOFError return (-1, None, text) + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + self.close() + def test(): """Test program for telnetlib. @@ -660,11 +666,10 @@ port = int(portstr) except ValueError: port = socket.getservbyname(portstr, 'tcp') - tn = Telnet() - tn.set_debuglevel(debuglevel) - tn.open(host, port, timeout=0.5) - tn.interact() - tn.close() + with Telnet() as tn: + tn.set_debuglevel(debuglevel) + tn.open(host, port, timeout=0.5) + tn.interact() if __name__ == '__main__': test()