一个简单python ftp客户端代码,pythonftp客户端,#!/usr/bin/p


#!/usr/bin/python# -*- coding: utf-8 -*-import ftplibimport osimport socketHOST = 'ftp.mozilla.org'DIRN = 'pub/mozilla.org/webtools'FILE = 'bugzilla-3.6.9-to-3.6.10-nodocs.diff.gz'def writedata(data):    f = open(FILE,'wb')    try:        f.write(data)    finally:        f.close()def main():    try:        f = ftplib.FTP(HOST)    except (socket.error, socket.gaierror):        print 'ERROR:cannot reach " %s"' % HOST        return    print '***Connected to host "%s"' % HOST    try:        f.login()    except ftplib.error_perm:        print 'ERROR: cannot login anonymously'        f.quit()        return    print '*** Logged in as "anonymously"'     try:        f.cwd(DIRN)    except ftplib.error_perm:        print 'ERRORL cannot CD to "%s"' % DIRN        f.quit()        return    print '*** Changed to "%s" folder' % DIRN    try:        #传一个回调函数给retrbinary() 它在每接收一个二进制数据时都会被调用        f.retrbinary('RETR %s' %FILE, writedata)    except ftplib.error_perm:        print 'ERROR: cannot read file "%s"' %FILE        os.unlink(FILE)    else:        print '*** Downloaded "%s" to CWD' % FILE    f.quit()    returnif __name__ == '__main__':    main()

评论关闭