地理空間資料集通常由多個檔案組成,這些檔案通常以 zip 或 tar 等檔案格式發布。 tar 格式不包含壓縮演算法,它提供了可選的 GZIP 壓縮選項。
Python 包含專門以 zip 和 tar 格式讀取和寫入的模組。 它們分別是 zipfile 和 tarfile 模組。
以下示例將提取乙個 zip 檔案 hancockzip,即漢考克shp、 hancock.SHX 和漢考克將提取 dbf 檔案。
import zipfile讓我們基於上面解壓縮的檔案建立乙個 tar 檔案。 在此示例中,開啟乙個 tar 檔案並向其寫入資料。 寫入時使用的寫入模式是 w:gz,表示使用的壓縮格式是 gzip。 相關**如下。zip = open("hancock.zip", "rb")
zipshape = zipfile.zipfile(zip)
for filename in zipshape.namelist():
# print(filename)
out = open(filename, "wb")
out.write(zipshape.read(filename))
out.close()
import tarfile您可以使用 tarfileextractall() 方法提取這些檔案。 首先,使用 tarfileopen() 方法開啟檔案,然後解壓檔案,相關 ** 如下:tar = tarfile.open("hancock.tar.gz", "w:gz")
tar.add("hancock.shp")
tar.add("hancock.shx")
tar.add("hancock.dbf")
tar.close()
print('tar.gz 檔案已生成')
tar = tarfile.open("hancock.tar.gz", "r:gz")收集知識來滋養你和我。allfile = tar.extractall()
tar.close()
print(allfile)