摘要
建立一个进度条对象将进度信息传递至进度对话框。可通过选择默认进度条或步长进度条来控制进度对话框的外观。
讨论
由于脚本工具共享了应用程序,因此您可以控制进度对话框。您可以通过选择默认进度条或步骤进度条来控制进度对话框的外观,如下图所示。
语法
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()