前言
使用GEE生成多個文件到Google Drive之后,如果想一次下載下來,它就會對這些文件自動進行壓縮打包,但是這個過程往往進行的很慢,經常還會莫名其妙的崩掉。
解決的方法也是有的,就是用Colab的Python對Google Drive中的文件進行打包,而且絕不會崩掉。
1.掛載Gooogle Drive
from google.colab import drive
drive.mount('/gdrive')
2.壓縮
import os, zipfile
def make_zip(source_dir, output_filename):
zipf = zipfile.ZipFile(output_filename, 'w')
pre_len = len(os.path.dirname(source_dir))
for parent, dirnames, filenames in os.walk(source_dir):
for filename in filenames:
pathfile = os.path.join(parent, filename)
arcname = pathfile[pre_len:].strip(os.path.sep) #相對路徑
zipf.write(pathfile, arcname)
zipf.close()
dir = "/gdrive/My Drive/DirToCompress" #指定要壓縮的文件夾
zipFile = "/gdrive/My Drive/Compressed.zip" #指定壓縮后的文件
make_zip(dir,zipFile)
print("Success")
