python ftp 上传、下载文件

发布时间:2019-09-07 08:11:19编辑:auto阅读(1810)


    python ftp 上传、下载文件

    #获取昨天日期

    TODAY = datetime.date.today() 
    YESTERDAY = TODAY - datetime.timedelta(days=1)
    CURRENTDAY=YESTERDAY.strftime('%Y%m%d')


    ---------------------------------------------------------------------------------------


    #!/usr/bin/env
    python
    # -*- coding: cp936 -*-
    #导入ftplib扩展库 
    import ftplib 
     
    #创建ftp对象实例 
    ftp = ftplib.FTP() 
     
    #指定IP地址和端口,连接到FTP服务,上面显示的是FTP服务器的Welcome信息 
    FTPIP= "218.108.***.***"
    FTPPORT= 21
    USERNAME= "ybmftp"
    USERPWD= "ybm***"
    ftp.connect(FTPIP,
    FTPPORT) 
     
    #通过账号和密码登录FTP服务器 
    ftp.login(USERNAME,USERPWD) 
     
    #如果参数 pasv 为真,打开被动模式传输 (PASV MODE) ,
    #否则,如果参数 pasv 为假则关闭被动传输模式。
    #在被动模式打开的情况下,数据的传送由客户机启动,而不是由服务器开始。
    #这里要根据不同的服务器配置
    ftp.set_pasv(0)
    #在FTP连接中切换当前目录 
    CURRTPATH= "/home1/ftproot/ybmftp/testupg/payment"
    ftp.cwd(CURRTPATH) 
     
    #为准备下载到本地的文件,创建文件对象 
     
    DownLocalFilename="YBM_20110629_9001_CHK"
    f = open(DownLocalFilename,
    'wb') 
     
    #从FTP服务器下载文件到前一步创建的文件对象,其中写对象为f.write,1024是缓冲区大小 
     
    DownRoteFilename="YBM_20110629_9001_CHK"
    ftp.retrbinary('RETR ' + DownRoteFilename , f.write ,
    1024) 
     
    #关闭下载到本地的文件 
     
    #提醒:虽然Python可以自动关闭文件,但实践证明,如果想下载完后立即读该文件,最好关闭后重新打开一次 
    f.close() 
     
    #关闭FTP客户端连接
    ftp.close()

    ###上传文件

    #! /usr/bin/env python
    from ftplib import FTP
    import sys, getpass, os.path
    host="218.108.***.***"
    username="ybmftp"
    password="ybm!***"
    localfile="/home/gws/xym/script/duizhang.txt"
    remotepath="~/testpayment"
    f=FTP(host)
    f.login(username, password)
    f.cwd(remotepath)
    fd=open(localfile,'rb')
    print os.path.basename(localfile)
    #否则,如果参数
    pasv 为假则关闭被动传输模式。
    #在被动模式打开的情况下,数据的传送由客户机启动,而不是由服务器开始。
    #这里要根据不同的服务器配置
    ftp.set_pasv(0)
    f.storbinary('STOR %s ' % os.path.basename(localfile),fd)
    fd.close()
    f.quit


    原文链接:http://blog.sina.com.cn/s/blog_498a6eeb0100t280.html


关键字