首页 > 编程语言 >Python核对批量下载多个文件时的下载情况

Python核对批量下载多个文件时的下载情况

时间:2023-07-11 12:31:43浏览次数:41  
标签:Python url 遥感 核对 下载 file path 影像

  本文介绍批量下载遥感影像时,利用Python实现已下载影像文件的核对,并自动生成未下载影像的下载链接列表的方法。

  批量下载大量遥感影像数据对于GIS学生与从业人员可谓十分常见。然而,对于动辄成千上万景的遥感影像文件,下载过程中可能会出现各类失败问题,且或许在下载软件或工具中还不能很好显示失败的文件有哪些(这一点在批量下载MODIS产品时显得尤为突出,因为目前LandsatSentinel这些遥感数据还可以用常见下载软件进行批量下载,但MODIS批量下载却变得越来越麻烦),从而使得最终下载完成后的文件夹中遥感影像文件数量与预期下载数量不符合,即部分影像文件没有下载下来。

  针对这种情况,需要我们对缺失的文件加以筛选,并重新生成下载链接并下载;在文件数量很大时,手动实现上述功能显然是不现实的;而我们可以用Python短短几行代码来实现这一过程。

  首先,展示代码如下:

import os

all_url_file_path='H:/s2021_3.txt'
download_hdf_file_path='H:/s2021_3_test/'
lost_url_file_path='H:/s2021_3_lost.txt'

download_hdf=os.listdir(download_hdf_file_path)

with open(all_url_file_path,'r') as all_url_file:
    all_url=all_url_file.readlines()
    for url in all_url:
        url_single_hdf=url[63:108]
        if url_single_hdf not in download_hdf:
            with open(lost_url_file_path,'a') as lost_url_file:
                lost_url_file.write(url)

  其中,all_url_file_path是包含我们全部需要下载的遥感影像下载链接的文件,一般都会是.txt格式(因此如果大家用GEE等方法下载可能就不适用啦);download_hdf_file_path是存放下载后遥感影像的文件夹,lost_url_file_path是程序生成未下载遥感影像文件下载链接的.txt文件(程序自动创建,大家无需手动建立)。

  其实原理很简单,就是依据已下载文件名称和全部链接中的名称进行对比,将为在已下载文件中对比到的影像文件下载链接复制到新.txt文件中。在这里,需要大家的下载链接和遥感影像数据中具有一致且和其它遥感影像数据不重复的部分(一般下载LandsatMODIS等常见遥感数据产品都满足这一要求),在这里将其称为影像特征段;其中,url[63:108]是提取链接中的影像特征段,大家依据实际情况修改即可,还可以修改为正则表达式的形式;本文中我的遥感影像数据文件名称就是影像特征段自身,因此就没有对遥感影像文件名称加以提取处理,大家基于实际需要修改即可~

  至此,大功告成。

标签:Python,url,遥感,核对,下载,file,path,影像
From: https://blog.51cto.com/fkxxgis/6687355

相关文章

  • python pandas链接mysql数据库报错
    1. ModuleNotFoundError:Nomodulenamed'mysql'需要安装链接驱动,比如 pipinstallmysqlclient#或pipinstallpymysql#或pipinstallmysql-connector-python2.pandas的 pd.read_sql(ad_first_query,conn)报错: executereturnself.connectable.executio......
  • PD虚拟机18.3.2更新,最新parallels desktop下载
    ParallelsDesktop18虚拟机可以在Mac电脑上运行window或其他系统,无需重启电脑,轻松便捷。PD虚拟机18.3.2更新了,最新ParallelsDesktop18修复了一些问题,想要体验最新Mac PD虚拟机18.3.2中文版虚拟机的朋友,小编为大家带来了最新parallelsdesktop下载安装包及详细的安装教程,有需要的......
  • Windows版python安装教程
    Windows版python安装教程第一步:下载Python最新版本Python官网:http://www.python.org进入官网之后,根据电脑系统选择合适的版本下载安装。截止到目前为止,python-3.10.2是Python最新版本(此版本Windows7系统及更早系统无法使用,Windows7系统的小伙伴可以选择下载python-3.8.10)。第......
  • Python - 打断点以及如何查看
    1、鼠标左键单击代码跟行号中间的地方会出现一个红点,这个就是断点。2、点击Debug按钮,进入调试模式。 3、当代码运行到断点之前,所有关于变量的代码,都会出现运行的结果。 4、点击StepIntoMyCode按钮,代码一步一步查看断点之后的内容。 5、最后:如果不想要继续查看断点......
  • 解决Python 画图 默认字体大小的具体操作步骤
    Python画图默认字体大小概述在Python中画图时,默认使用的字体大小可能不符合我们的需求,因此需要对字体大小进行调整。本文将介绍如何使用Python来实现画图时的默认字体大小,并提供详细的代码示例和解释。步骤下面是实现“Python画图默认字体大小”的步骤:步骤操作......
  • 如何实现Python 函数的参数的具体操作步骤
    Python函数的参数在Python中,函数是一种可重复使用的代码块,用于执行特定的任务。函数可以接受参数,参数是函数中用于接受输入值的变量。Python中的函数参数非常灵活,可以有多种形式。本文将介绍Python函数参数的不同类型以及它们的使用方法。位置参数位置参数是指根据参数的......
  • 解决Python 轨迹纠偏算法的具体操作步骤
    Python轨迹纠偏算法实现指南简介在实际应用中,我们经常需要处理采集到的轨迹数据,例如GPS定位数据。由于各种原因,采集到的轨迹数据可能存在噪声、漂移或其他异常情况,因此需要进行轨迹纠偏算法的处理。本文将介绍如何使用Python实现轨迹纠偏算法。整体流程下面是实现Python轨迹纠......
  • 如何实现Python 定时结束程序的具体操作步骤
    Python定时结束程序介绍在编写程序时,有时我们希望程序在经过一段时间后自动结束,而不是一直运行下去。Python提供了一种简单的方法来实现定时结束程序的功能。本文将介绍如何使用Python中的time模块和signal模块来实现定时结束程序的功能,并提供相应的代码示例。使用time......
  • 如何实现Python 的 tsfresh的具体操作步骤
    使用tsfresh库进行Python特征提取介绍在数据处理和机器学习中,特征提取是一个重要的步骤。它涉及从原始数据中提取有用信息并转换为可用于训练模型的特征。Python的tsfresh库是一个功能强大的工具,用于自动化时间序列数据的特征提取。本文将向你介绍如何使用tsfresh库来实现Python......
  • IDApython练习1-脚本去花
    IDApython练习1-脚本去花这里主要是练习IDApython脚本去花1这里jz跳转条件是zf=1,jnz跳转条件是zf=0,但是zf就2种可能,所以无论如何都会跳转到loc_411DDF+3的位置,等于jmploc_411DDF+3.这里可以等长度的nop,我们可以手动nop,这里是脚本练习,需要我们自己写importidcdefcle......