Skip to main 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})

Parameter Explanation Data 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 Type Explanation

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)

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

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

# Delete scratch dataset
arcpy.management.Delete(scratch_name)