Skip To Content

CreateScratchName

Summary

Creates a unique scratch path name for the specified data type. If no workspace is given the current workspace is used.

Syntax

CreateScratchName ({prefix}, {suffix}, {data_type}, {workspace})
ParameterExplanationData Type
prefix

The prefix that is added to the scratchname. By default, a prefix of xx is used.

(The default value is xx)

String
suffix

The suffix added to the scratchname. This can be an empty double-quoted string.

String
data_type

The data type which will be used to create the scratchname. Valid datatypes are:

  • CoverageOnly valid Coverage names are returned.
  • DatasetOnly valid Dataset names are returned.
  • FeatureClassOnly valid FeatureClass names are returned.
  • FeatureDatasetOnly valid FeatureDataset names are returned.
  • FolderOnly valid Folder names are returned.
  • GeodatasetOnly valid Geodataset names are returned.
  • GeometricNetworkOnly valid Geometric Network names are returned.
  • ArcInfoTableOnly valid ArcInfo Table names are returned.
  • NetworkDatasetOnly valid Network Dataset names are returned.
  • RasterBandOnly valid Raster Band names are returned.
  • RasterCatalogOnly valid Raster Catalog names are returned.
  • RasterDatasetOnly valid Raster Dataset names are returned.
  • ShapefileOnly valid Shapefile names are returned.
  • TerrainOnly valid Terrain names are returned.
  • WorkspaceOnly valid Workspace scratchnames are returned.
String
workspace

The workspace used to determine the scratch name to be created. If not specified, the current workspace is used.

String
Return Value
Data TypeExplanation
String

The unique scratch path name.

Code sample

CreateScratchName example

Create a unique scratch name for the derived output of the Buffer tool. This scratch name is then used as input to the Clip tool.

import arcpy

# Set workspace
#
arcpy.env.workspace = "C:/Data/Municipal.gdb"

# Create a scratch name for the Buffer tool output.
#   The scratch name created will be include 'temp0.shp',
#   If temp0.shp already exists, the number will be incremented
#   until the name is unique in the workspace.
#
scratch_name = arcpy.CreateScratchName("temp",
                                       data_type="Shapefile",
                                       workspace=arcpy.env.scratchFolder)

# Execute Buffer tool, using scratch name for output
#
arcpy.Buffer_analysis("Roads", scratch_name, "1000 feet")

# Execute Clip tool, using scratch name for input
#
arcpy.Clip_analysis(scratch_name, "CityBoundary", "CityRoads")

# Delete scratch dataset
arcpy.Delete_management(scratch_name)

Related topics

In this topic