zoukankan      html  css  js  c++  java
  • python 读取csv中的文件,从sftp下载文件

    需要从sftp上下载一些图片文件,文件名存放在一个csv文件中。代码如下:

    # -*- coding:utf-8 -*-
    import paramiko
    import csv
    import os
    
    def sft_download_all(host,port,username,password):
        sf = paramiko.Transport((host,port))
        sf.connect(username = username,password = password)
        sftp = paramiko.SFTPClient.from_transport(sf)
    
        csv_reader1=csv.reader(open(r'D:数据处理photo.csv',encoding='utf-8'))
        for row in csv_reader1:
            remote=row[2]
            filename=row[1]
            localfile='D:\训练数据\all\'+filename
            try:
                if sftp.stat(remote) and (not os.path.exists(localfile)):
                    print("download:"+remote)
                    sftp.get(remote,localfile)
            except Exception as e:
                print('出错跳过:file='+remote+' exception:',e)
                continue
        print("全部数据下载完毕!")
    
    def sftp_download(host,port,username,password):
        sf = paramiko.Transport((host,port))
        sf.connect(username = username,password = password)
        sftp = paramiko.SFTPClient.from_transport(sf)
    
        csv_reader1=csv.reader(open(r'D:数据处理系安全带的.csv',encoding='utf-8'))
        for row in csv_reader1:
            remote=row[4]
            filename= os.path.basename(remote)
            localfile='D:\训练数据\hasbelt\'+filename
            try:
                if sftp.stat(remote) and (not os.path.exists(localfile)):
                    print("download:"+remote)
                    sftp.get(remote,localfile)
            except Exception as e:
                print('出错跳过:file='+remote+' exception:',e)
                continue
        print("通过数据下载完毕!")
    
        csv_reader2=csv.reader(open(r'D:数据处理没系安全带.csv',encoding='utf-8'))
        for row in csv_reader2:
            remote=row[4]
            filename= os.path.basename(remote)
            localfile='D:\训练数据\beltno\'+filename
            try:
                if sftp.stat(remote) and (not os.path.exists(localfile)):
                    print("download:"+remote)
                    sftp.get(remote,localfile)
            except Exception as e:
                print('出错跳过:file='+remote+' exception:',e)
                continue
        print("不通过数据下载完毕!")
        sf.close()
    
    if __name__ == '__main__':
        host = '172.16.207.21'#主机
        port = 22 #端口
        username = 'root' #用户名
        password = 'data' #密码
        sftp_download(host,port,username,password)#下载
        #sft_download_all(host,port,username,password)
  • 相关阅读:
    几种常见的软件体系结构及特点分析
    mvc模式
    代理模式 补充
    软件架构体系风格
    大道至简之编程的精义读后感-Java伪代码
    MVC架构模式实例
    浅谈模型-视图-控制器模式
    《大型网站技术架构:核心原理与案例分析》读后感
    质量属性分析
    构架漫谈读后感之软件架构师的工作
  • 原文地址:https://www.cnblogs.com/deartear/p/8616457.html
Copyright © 2011-2022 走看看