| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
mxw8
10年前发布

一个简单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()