python写的FTP简单上传下载文件

 刚才一哥们说要定时往FTP上上传或者下载一些文件,让我写一个上传下载的函数,发现很简单的,python本身自带一个FTP模块,可以实现这些:

 

 
 
  1. #!/usr/bin/env python 
  2. # -*- coding: utf-8 -*- 
  3.  
  4. from ftplib import FTP 
  5.  
  6. def ftp_up(filename = "20120904.rar"): 
  7.     ftp=FTP() 
  8.     ftp.set_debuglevel(2)#打开调试级别2,显示详细信息;0为关闭调试信息 
  9.     ftp.connect('192.168.0.1','21')#连接 
  10.     ftp.login('admin','admin')#登录,如果匿名登录则用空串代替即可 
  11.     #print ftp.getwelcome()#显示ftp服务器欢迎信息 
  12.     #ftp.cwd('xxx/xxx/') #选择操作目录 
  13.     bufsize = 1024#设置缓冲块大小 
  14.     file_handler = open(filename,'rb')#以读模式在本地打开文件 
  15.     ftp.storbinary('STOR %s' % os.path.basename(filename),file_handler,bufsize)#上传文件 
  16.     ftp.set_debuglevel(0
  17.     file_handler.close() 
  18.     ftp.quit() 
  19.     print "ftp up OK" 
  20.  
  21. def ftp_down(filename = "20120904.rar"): 
  22.     ftp=FTP() 
  23.     ftp.set_debuglevel(2
  24.     ftp.connect('192.168.0.1','21'
  25.     ftp.login('admin','admin'
  26.     #print ftp.getwelcome()#显示ftp服务器欢迎信息 
  27.     #ftp.cwd('xxx/xxx/') #选择操作目录 
  28.     bufsize = 1024 
  29.     filename = "20120904.rar" 
  30.     file_handler = open(filename,'wb').write #以写模式在本地打开文件 
  31.     ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handler,bufsize)#接收服务器上文件并写入本地文件 
  32.     ftp.set_debuglevel(0
  33.     file_handler.close() 
  34.     ftp.quit() 
  35.     print "ftp down OK" 

 

    原文作者:AIOPS_DBA
    原文地址: https://blog.51cto.com/wangwei007/983638
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞