Unixコマンド in Python #2 不完全telnet

telnetlibというのがあるらしいのでテスト。
どういうときに便利なんだろうか。

#!/usr/bin/env python
import sys
import os
import telnetlib

if len(sys.argv) < 1:
    sys.stderr.write("error")
    sys.exit(1)

port = 23
if len(sys.argv) == 2:
    host = sys.argv[1]
elif len(sys.argv) == 3:
    host = sys.argv[1]
    try:
        port = int(sys.argv[2])
    except ValueError, err:
        sys.stderr.write("Invalid port: %s\n" %err)
        sys.exit(1)

tn = telnetlib.Telnet(host, port)

pid = os.fork()
if pid:
    print tn.read_all()
else:
    def gen_readline():
        while True:
            yield sys.stdin.readline()

    for command in gen_readline():
        print command,
        tn.write(command)