Network Python Tutorial

from ftplib  import FTP
import sys
f = FTP('ftp.kernel.org')
f.login()
f.cwd('/pub/linux/kernel/v1.0')
f.voidcmd("TYPE I")
datasock, estsize = f.ntransfercmd("RETR linux-1.0.tar.gz")
transbytes = 0
fd = open('linux-1.0.tar.gz', 'wb')
while 1:
    buf = datasock.recv(2048)
    if not len(buf):
        break
    fd.write(buf)
    transbytes += len(buf)
    sys.stdout.write("Received %d " % transbytes)
    if estsize:
        sys.stdout.write("of %d bytes (%.1f%%)\r" % \
                (estsize, 100.0 * float(transbytes) / float(estsize)))
    else:
        sys.stdout.write("bytes\r")
    sys.stdout.flush()
sys.stdout.write("\n")
fd.close()
datasock.close()
f.voidresp()
f.quit()