• python FTP上传和下载文件


    1. 连接FTP server

    import ftplib
    ftp = ftplib.FTP(ftpserver, user, passwd)

    等同于

    import ftplib
    ftp = ftplib.FTP()
    ftp.connect(ftpserver)
    ftp.login(user,passwd)

        对于初始化函数FTP(),如果指定host,则自动调用connect函数,如果指定了user和passwd,则自动调用login,如果都没指定,就什么都不做,需要显示调用。

    2. upload

    import ftplib
    
    def uploadToFTP(filename, targetdir, ftpserver, user="user", passwd="123"):
        rtd = 0
        targetdir = targetdir.split(ftpserver)[-1] # remove ftpserver string from targetdir string if contain
        fp = open(filename, 'rb')
        ftp = ftplib.FTP(ftpserver, user, passwd) # make connection and login FTP
        try:
            ftp.cwd(targetdir)
        except ftplib.error_perm:
            print "Error: cannot upload to FTP, no such folder"
            return -2
        try:
            ftp.storbinary('STOR %s/%s'%(targetdir,filename), fp)
        except Exception, e:
            traceback.print_exc()
            rtd = 1
        finally:
            fp.close()
            ftp.quit()
        return rtd

    3. 下载

    # ftp.retrbinary(cmd, callback, blocksize=8192, rest=None)
    
    def downloadfile()  
        remotepath = "/home/pub/dog.jpg";  
        localpath = 'f:\test\dog.jpg'  
        fp = open(localpath,'wb') #以写模式在本地打开文件
    
        ftp.retrbinary('RETR ' + remotepath,fp.write,bufsize) #接收服务器上文件并写入本地文件  
    
        ftp.set_debuglevel(0) #关闭调试  
        fp.close()  
        ftp.quit() #退出ftp服务器

    官方文档:

    https://docs.python.org/3/library/ftplib.html#ftplib.FTP.transfercmd

  • 相关阅读:
    【BJOI2018】求和
    【洛谷P1613】跑路
    【NOI2001】食物链
    【NOI2002】银河英雄传说
    【POJ1456】Supermarket
    【NOIP2013】货车运输
    【CH#56C】异象石
    【POJ3417】Network
    【APIO2010】巡逻
    【CH6201】走廊泼水节
  • 原文地址:https://www.cnblogs.com/snow-backup/p/5013752.html
Copyright © 2020-2023  润新知