地理空间数据集通常由多个文件组成,这些文件通常以 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)