下面为源码:
# 针对于利用Python爬虫程序从网站https://scihub.copernicus.eu/dhus/#/home 上下载的Sentinel-1 多景影像批量解压缩问题而写。
import os
import zipfile
import time
time_start = time.time()
# 下面文本文件为DOS模式下获取的所有影像$value文件所在路径
# 读取影像总数
f = open("G:\datadir.txt")
# 统计$value影像的总个数
lines = len(f.readlines())
print lines
f.close
# 进行解压缩
f = open("G:\datadir.txt")
line = f.readline()
# 统计解压的文件个数
num = 0.0
# 一行一行读取文件内容
while line:
dir = line
dir = dir[0:-7]
os.chdir(dir)
dirc = os.getcwd()
file = os.listdir(dirc)
newname = file[0]+".zip"
# 文件重命名
os.rename(file[0],newname)
dirch = dir + newname
zfile = zipfile.ZipFile(dirch,'r')
for sourceFile in zfile.namelist():
# 为方便后续使用,将解压后的文件存储到同一个文件夹
# 路径应修改(注意:文件名避免以n、t或阿拉伯数字等开头,避免与文件路径中的反斜杠\形成\n、\t等转义字符,如果出现,应多添加一个反斜杠)
datadir = 'G:\\SNAP_processing_directory\\2016.03'
zfile.extract(sourceFile,datadir)
num = num + 1
print "已解压",num,"景","剩余",lines-num,"景,已处理",num/lines*100,"%"
line = f.readline()
f.close()
if (num < lines):
print "\n影像未全部解压,解压过程提前结束\n"
time_end = time.time()
total_time = time_end-time_start
minutes = (time_end-time_start)/60.0
seconds = (time_end-time_start)%60.0
print "总耗时:",minute,'分',seconds,'秒'
没有评论:
发表评论