python实现简单ftp客户端的方法

1296次阅读  |  发布于5年以前

本文实例讲述了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()

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8