SetProgressor (arcpy)

Краткая информация

Устанавливает объект прогрессор, который позволяет выдавать информацию о ходе процесса в окне диалога о ходе процесса. Вешний вид диалогового окна хода выполнения может контролироваться, выбирая или индикатор выполнения процесса по умолчанию, или пошаговый.

Синтаксис

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()

Связанные темы

5/10/2014