zoukankan      html  css  js  c++  java
  • python之实现ftp上传下载代码(含错误处理)

    # -*- coding: utf-8 -*-
    #python 27
    #xiaodeng
    #python之实现ftp上传下载代码(含错误处理)
    #http://www.cnblogs.com/kaituorensheng/p/4480512.html#_label2
    
    
    
    import ftplib
    import socket
    import os
    
    def ftpconnect(ftp_info):
        try:
            ftp = ftplib.FTP(ftp_info[0])
        except (socket.error, socket.gaierror):
            print "ERROR: cannot reach %s" % ftp_info[0]
            return None
    
        username = ftp_info[1]
        passwd = ftp_info[2]
        try:
            ftp.login(username, passwd)
        except ftplib.error_perm:
            print "ERROR: cannot login anonymously"
            ftp.quit()
            return None
        return ftp
    
    
    if __name__ == "__main__":
        ftp_info = ["10.19.3.199", "fastupdate_amap", "@utonavi&A.map"]
        ftp = ftpconnect(ftp_info)
        if not ftp:
            exit(1)
        bufsize = 1024
        fname = "20150416113942674.tar.gz"
        fp = open(os.path.join(".", fname), 'wb')
        remotefile = os.path.join("/ADF++", fname)
        ftp.retrbinary("RETR " + remotefile, fp.write, bufsize)
    
        #是否有目录,没有就创建;有的话看是否有权限创建
        a = ftp.dir()
        try:
            ftp.cwd("jimi")
        except ftplib.error_perm:
            try:
                ftp.mkd("jimi")
            except ftplib.error_perm:
                print "you have no authority to make dir"
        finally:
            ftp.quit()
        
  • 相关阅读:
    Kubernetes 查看node
    Zookeeper ZAB 协议分析[转]
    zookeeper 快速入门
    Kubernetes-dns 域名解析问题
    Kubernetes-dns 服务搭建
    Kubernetes dashboard 配置
    kubernetes 入门学习
    使用jenkins SonarQube gitlab 构建自动化发布系统
    VMware Harbor 学习
    docker快速入门
  • 原文地址:https://www.cnblogs.com/dengyg200891/p/4976040.html
Copyright © 2011-2022 走看看