python自带的ftp模块,可以实现上传下载:


#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
import os
from ftplib import FTP

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

def ftp_down(filename = "httpd-2.4.9.tar.gz"):
    ftp=FTP()
    ftp.set_debuglevel(2)#打开调试级别2,显示详细信息;0为关闭调试信息 
    ftp.connect('192.168.1.122','21')#连接 
    ftp.login('jack','10241010')#登录,如果匿名登录则用空串代替即可 
    print ftp.getwelcome()#显示ftp服务器欢迎信息 
    ftp.cwd('/home/jack') #选择操作目录 
    bufsize = 1024#设置缓冲块大小 
    filename = 'httpd-2.4.9.tar.gz'
    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"

ftp_down()