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:

  • Coverage —Only valid Coverage names are returned.
  • Dataset —Only valid Dataset names are returned.
  • FeatureClass —Only valid FeatureClass names are returned.
  • FeatureDataset —Only valid FeatureDataset names are returned.
  • Folder —Only valid Folder names are returned.
  • Geodataset —Only valid Geodataset names are returned.
  • GeometricNetwork —Only valid Geometric Network names are returned.
  • ArcInfoTable —Only valid ArcInfo Table names are returned.
  • NetworkDataset —Only valid Network Dataset names are returned.
  • RasterBand —Only valid Raster Band names are returned.
  • RasterCatalog —Only valid Raster Catalog names are returned.
  • RasterDataset —Only valid Raster Dataset names are returned.
  • Shapefile —Only valid Shapefile names are returned.
  • Terrain —Only valid Terrain names are returned.
  • Workspace —Only 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