【发布时间】:2019-10-08 08:00:09
【问题描述】:
我无法解压缩从 Copernicus Open Access Hub 下载的 .zip 文件。我检索文件并尝试使用以下 Python 脚本将其解压缩:
from sentinelsat.sentinel import SentinelAPI
import zipfile
user = 's5pguest'
password = 's5pguest'
api = SentinelAPI(user, password, 'https://s5phub.copernicus.eu/dhus')
api.download("cb078cce-ed6e-46a7-a614-e13830b2a74a")
# The file is succesfully downloaded
zip_ref = zipfile.ZipFile("S5P_NRTI_L2__CO_____20191001T123303_20191001T123803_10188_01_010302_20191001T131513.zip", 'r')
zip_ref.extractall()
zip_ref.close()
文件已成功下载,但当它尝试解压缩时,我得到:
BadZipFile Traceback (most recent call last)
<ipython-input-3-45c213a35459> in <module>
9 api.download("cb078cce-ed6e-46a7-a614-e13830b2a74a")
10
---> 11 zip_ref = zipfile.ZipFile("S5P_NRTI_L2__CO_____20191001T123303_20191001T123803_10188_01_010302_20191001T131513.zip", 'r')
12 zip_ref.extractall()
13 zip_ref.close()
~/anaconda3/lib/python3.6/zipfile.py in __init__(self, file, mode, compression, allowZip64)
1129 try:
1130 if mode == 'r':
-> 1131 self._RealGetContents()
1132 elif mode in ('w', 'x'):
1133 # set the modified flag so central directory gets written
~/anaconda3/lib/python3.6/zipfile.py in _RealGetContents(self)
1196 raise BadZipFile("File is not a zip file")
1197 if not endrec:
-> 1198 raise BadZipFile("File is not a zip file")
1199 if self.debug > 1:
1200 print(endrec)
BadZipFile: File is not a zip file
如果我尝试使用 unzip 从终端解压缩此文件,我会得到:
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of S5P_NRTI_L2__CO_____20191001T123303_20191001T123803_10188_01_010302_20191001T131513.zip or
S5P_NRTI_L2__CO_____20191001T123303_20191001T123803_10188_01_010302_20191001T131513.zip.zip, and cannot find S5P_NRTI_L2__CO_____20191001T123303_20191001T123803_10188_01_010302_20191001T131513.zip.ZIP, period.
如果我尝试使用 7zip,我会得到:
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=it_IT.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: S5P_NRTI_L2__CO_____20191004T113803_20191004T114303_10230_01_010302_20191004T122457.zip
Error: Can not open file as archive
文件似乎已损坏,但如果我尝试下载其他文件,错误仍然存在。 我还尝试将名称更改为更简单的名称,例如“doc.zip”,但没有成功。 我被卡住了,有什么想法吗?
我正在关注这个教程https://github.com/acgeospatial/Satellite_Imagery_Python/blob/master/SentinelSat_Demo.ipynb
【问题讨论】:
-
您确定这是下载的 zip 的正确名称,并且存在于您运行此 python 脚本的同一目录中吗?
-
你试过用文本编辑器打开它吗?
-
该文件在同一个脚本文件夹中,但是我也尝试在正确文件夹中 cd 后在命令行上使用 unzip 打开它。
-
尝试用gedit打开,但是太大导致程序崩溃
标签: python zip geospatial unzip