海7318 发表于 2016-6-8 08:37:06

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

  刚才看一哥们写个简单的FTP上上传或者下载的例子,发现很简单的,python本身自带一个FTP模块,可以实现这些:
  

[*]#!/usr/bin/env python 
[*]# -*- coding: utf-8 -*- 
[*] 
[*]from ftplib import FTP 
[*] 
[*]def ftp_up(filename = "20120904.rar"): 
[*]    ftp=FTP() 
[*]    ftp.set_debuglevel(2)#打开调试级别2,显示详细信息;0为关闭调试信息 
[*]    ftp.connect('192.168.0.1','21')#连接 
[*]    ftp.login('admin','admin')#登录,如果匿名登录则用空串代替即可 
[*]    #print ftp.getwelcome()#显示ftp服务器欢迎信息 
[*]    #ftp.cwd('xxx/xxx/') #选择操作目录 
[*]    bufsize = 1024#设置缓冲块大小 
[*]    file_handler = open(filename,'rb')#以读模式在本地打开文件 
[*]    ftp.storbinary('STOR %s' % os.path.basename(filename),file_handler,bufsize)#上传文件 
[*]    ftp.set_debuglevel(0) 
[*]    file_handler.close() 
[*]    ftp.quit() 
[*]    print "ftp up OK" 
[*] 
[*]def ftp_down(filename = "20120904.rar"): 
[*]    ftp=FTP() 
[*]    ftp.set_debuglevel(2) 
[*]    ftp.connect('192.168.0.1','21') 
[*]    ftp.login('admin','admin') 
[*]    #print ftp.getwelcome()#显示ftp服务器欢迎信息 
[*]    #ftp.cwd('xxx/xxx/') #选择操作目录 
[*]    bufsize = 1024 
[*]    filename = "20120904.rar" 
[*]    file_handler = open(filename,'wb').write #以写模式在本地打开文件 
[*]    ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handler,bufsize)#接收服务器上文件并写入本地文件 
[*]    ftp.set_debuglevel(0) 
[*]    file_handler.close() 
[*]    ftp.quit() 
[*]    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")  
  
页: [1]
查看完整版本: python写的FTP简单上传下载文件