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)
  • 相关阅读:
    python 3+djanjo 2.0.7简单学习(三)--Django 管理页面
    python 3+djanjo 2.0.7简单学习(二)--创建数据库和模型
    lucene3.6.0 经典案例 入门教程
    Android——自定义Actionbar左侧覆盖不全的解决方案
    Android——ViewPager多页面滑动切换以及动画效果
    Android——LayoutInflater详解
    java.sql.SQLException:指定了无效的 Oracle URL
    核函数方法简介
    IEEE论文格式要求
    oracle使用DataBase Configuration Assistant创建、删除数据库
  • 原文地址:https://www.cnblogs.com/deartear/p/8616457.html
Copyright © 2011-2022 走看看