一个简单python ftp客户端代码详解编程语言

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
  
import ftplib 
import os 
import socket 
  
HOST = '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() 
    return 
  
if __name__ == '__main__': 
    main()

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8277.html

(0)
上一篇 2021年7月18日 19:31
下一篇 2021年7月18日 19:31

相关推荐

发表回复

登录后才能评论