Краткая информация
Извлекает содержимое пакета в указанную папку. Распакованное содержимое входной упаковки будет добавлено в выходную папку.
Использование
Поддерживаются следующие типы пакетов:
- Пакеты геообработки (.gpk)
- Пакеты слоев (.lpk)
- Пакеты карты (.mpk)
- Пакеты локатора (.gcpk)
- Пакеты листов (.tpk)
Выходная папка может быть как новой папкой, так и существующей папкой. При распаковке в существующую папку содержимое пакета будет добавлено к существующим файлам и вложенным папкам. Если выходная папка уже содержит распакованное содержимое данного пакета, то оно будет перезаписано.
Распакованные файлы для пакетов с вложениями будут сохранены в подпапке commondata\userdata\ в Выходной папке Как правило, файлы внутри пакета являются вспомогательными, например – .pdf, .docx или изображения. Чтобы открыть эти файлы, необходимо перейти к нужной папке в Windows Explorer.
Синтаксис
ExtractPackage_management (in_package, output_folder)
Параметр | Объяснение | Тип данных |
in_package | Извлекаемый входной пакет. | File |
output_folder | Выходная папка, в которой будет находиться содержимое пакета. | Folder |
Пример кода
ExtractPackage, пример 1 (окно Python)
Пример скрипта окна Python для использования функции ExtractPackage.
arcpy.env.workspace = "C:/arcgis/ArcTutor/Getting_Started/Greenvalley"
arcpy.ExtractPackage_management('WaterUsePackage.lpk', 'C:/My_Data/Packages/WaterUse_unpacked')
ExtractPackage, пример 2 (автономный скрипт)
В скрипте производится поиск всех пакетов геообработки в определенной папке, затем их содержимое распаковывается в указанную папку инструментом ExtractPackage.
# Name: ExtractPackage.py
# Description: Find Geoprocesssing Packages within a specified folder and extract contents.
import arcpy
import os
arcpy.env.overwriteOutput = True
# set folder that contains packages to extract
arcpy.env.workspace = "C:/geoprocessing/gpks"
wrksp = arcpy.env.workspace
for gpk in arcpy.ListFiles("*.gpk"):
print("Extracting... " + gpk)
arcpy.ExtractPackage_management(gpk, os.path.splitext(gpk)[0])
print("done")