SetProgressor

Summary

Establishes a progressor object to support progress information to be displayed in the Geoprocessing pane. The appearance of the progressor can be controlled by choosing either the default progressor or the step progressor.

Syntax

SetProgressor (type, {message}, {min_range}, {max_range}, {step_value})
ParameterExplanationData Type
type

Specifies the progressor type.

  • defaultThe progressor moves continuously from side to side in a repeating pattern.
  • stepThe progressor shows the percentage complete.

(The default value is default)

String
message

The progressor label. The default is no label.

String
min_range

The minimum value for the progressor. The default is 0.

(The default value is 0)

Integer
max_range

The maximum value for the progressor. The default is 100.

(The default value is 100)

Integer
step_value

The progressor step interval for updating the progress bar.

(The default value is 1)

Integer

Code sample

SetProgressor example

Set the progressor object for displaying progress in the Geoprocessing pane.

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

Related topics