Сводка
Устанавливает объект прогрессор, который позволяет выдавать информацию о ходе процесса в окне диалога о ходе процесса. Вешний вид диалогового окна хода выполнения может контролироваться, выбирая или индикатор выполнения процесса по умолчанию, или пошаговый.
Описание
Если инструменты-скрипты запускаются в одном приложении, то вы можете контролировать диалоговое окно хода процесса. Вы можете контролировать появление диалогового окна хода процесса, выбирая прогрессор по умолчанию (default progressor), или пошаговый (step progressor), как показано ниже.
Синтаксис
SetProgressor (type, {message}, {min_range}, {max_range}, {step_value})
Параметр | Объяснение | Тип данных |
type | Тип прогрессора (по умолчанию или пошаговый).
(Значение по умолчанию — default) | String |
message | Подпись прогрессора. По умолчанию подписи нет. | String |
min_range | Начальное значение для прогрессора. Значение по умолчанию равно 0. (Значение по умолчанию — 0) | Integer |
max_range | Конечное значение для прогрессора. Значение по умолчанию равно 100. (Значение по умолчанию — 100) | Integer |
step_value | Интервал шага прогрессора для обновления полосы хода процесса. (Значение по умолчанию — 1) | Integer |
Пример кода
Пример работы SetProgressor
Задать объект прогрессора для отображения хода процесса в соответствующем диалоговом окне.
import os
import arcpy
# Allow overwriting of output
arcpy.env.overwriteOutput = True
# Set current workspace
arcpy.env.workspace = "c:/data"
# Get a list of shapefiles in folder
fcs = arcpy.ListFeatureClasses()
# Find the total count of shapefiles in list
fc_count = len(fcs)
# Set the progressor
arcpy.SetProgressor("step", "Copying shapefiles to geodatabase...",
0, fc_count, 1)
# Create a file gdb to contain new feature classes
arcpy.CreateFileGDB_management(arcpy.env.workspace, "fgdb.gdb")
# For each shapefile, copy to a file geodatabase
for shp in fcs:
# Trim the '.shp' extension
fc = os.path.splitext(shp)[0]
# Update the progressor label for current shapefile
arcpy.SetProgressorLabel("Loading {0}...".format(shp))
# Copy the data
arcpy.CopyFeatures_management(shp, os.path.join("fgdb.gdb", fc))
# Update the progressor position
arcpy.SetProgressorPosition()
arcpy.ResetProgressor()