`
huiqinbo
  • 浏览: 333989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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" 

 

————————————————————————————————————————

|                                                                                                                                          |

|                                 huiqinbo   个人小小修改下                                                                |

|                                                                                                                                          |

————————————————————————————————————————

 

#-------------------------------------------------------------------------------
# Name:        模块3
# Purpose:
#
# Author:      huiqinbo
#
# Created:     18/11/2014
# Copyright:   (c) andy 2014
# Licence:     <your licence>
#-------------------------------------------------------------------------------


from ftplib import FTP
import os


def ftp_up(filename):
    ftp=FTP()
    ftp.set_debuglevel(2)#打开调试级别2,显示详细信息;0为关闭调试信息
    ftp.connect('192.168.0.52','21')#连接
    ftp.login('cdms','cdms')#登录,如果匿名登录则用空串代替即可
    #ftp.cwd('xxx/xxx/') #选择操作目录
    bufsize = 1024#设置缓冲块大小
    file_handler = open(filename,'rb')#以读模式在本地打开文件
    ftp_filename = 'myname66.png'
    ftp.storbinary('STOR %s' % os.path.basename(ftp_filename),file_handler,bufsize)#上传文件
    ftp.set_debuglevel(0)
    file_handler.close()
    ftp.quit()
    print "ftp up OK"


def ftp_down(filename = "D:\\201209041.rar"):
    ftp=FTP()
    ftp.set_debuglevel(2)
    ftp.connect('192.168.0.52','21')
    ftp.login('cdms','cdms')
    #print ftp.getwelcome()#显示ftp服务器欢迎信息
    #ftp.cwd('xxx/xxx/') #选择操作目录
    bufsize = 1024
    ftp_filename = "2012090.rar"
    file_handler = open(filename,'wb').write #以写模式在本地打开文件
    ftp.retrbinary('RETR %s' % os.path.basename(ftp_filename),file_handler,bufsize)#接收服务器上文件并写入本地文件
    ftp.set_debuglevel(0)
    #file_handler.close()
    ftp.quit()
    print "ftp down OK"


if __name__ == '__main__':
    #ftp_up("D:\\20120904.rar")
    ftp_up("D:\\myname5.png")
    ftp_down("D:\\201209041.rar")

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics