Label | Explanation | Data Type |
Input Data | The data that will be copied. | Data Element |
Output Data | The location and name of the output data. | Data Element |
Data type (Optional) | The type of the data on disk that will be copied. This parameter is only necessary in the event of a name conflict between two different data types. For example, a geodatabase can contain a relationship class with an identical name to a feature class. If that is the case, specify the relevant keyword.
| String |
Associated Data
(Optional) | When the input has associated data, this parameter can be used to control the associated output data's name and config keyword.
The From Name and To Name column names will be identical if the To Name value is not used in the Output Data parameter value. If the name exists in the Output Data value, a unique To Name value will be automatically created by appending an underscore and a number (for example, rivers_1) to the From Name value. | Value Table |
Summary
Copies the input data to an output workspace of the same data type as the input workspace.
Usage
This tool copies only between workspaces of the same data type: from a folder to a folder and from any geodatabase type to any geodatabase type (file, enterprise, or mobile). To copy data between different workspace types, use the Copy Features tool or other tools in the Conversion toolbox.
This tool does not support copying to or from a memory workspace.
If a feature class is copied to a feature dataset, the spatial reference of the feature class and the feature dataset must match; otherwise, the tool will fail.
Any data that is dependent on the input is also copied. For example, copying a feature class or table that is part of a relationship class also copies the relationship class. This also applies to a feature class that has feature-linked annotation, domains, subtypes, and indices—all are copied along with the feature class. Copying geometric networks, network datasets, and topologies also copies the participating feature classes.
This tool does not copy layers, since a layer is only a reference to a feature class.
Copying a mosaic dataset copies the mosaic dataset to the designated location; the images referenced by the mosaic dataset are not copied.
This tool does not support copying a network dataset back into the same geodatabase.
This tool does not support the MRF image format. To copy an .mrf file, use the Copy Raster tool.
When the input has associated data, the Associated Data parameter value is displayed so the associated output data's name and config keyword can be controlled.
Parameters
arcpy.management.Copy(in_data, out_data, {data_type}, {associated_data})
Name | Explanation | Data Type |
in_data | The data that will be copied. | Data Element |
out_data | The location and name of the output data. The file name extension of the output data must match the extension of the input data. For example, if you are copying a file geodatabase, the output data element must have .gdb as a suffix. | Data Element |
data_type (Optional) | The type of the data on disk that will be copied. This parameter is only necessary in the event of a name conflict between two different data types. For example, a geodatabase can contain a relationship class with an identical name to a feature class. If that is the case, specify the relevant keyword.
| String |
associated_data [[from_name, data_type, to_name, config_keyword],...] (Optional) | When the input has associated data, this parameter can be used to control the associated output data's name and config keyword.
The from_name and to_name column names will be identical if the to_name value is not used in the out_data parameter value. If the name exists in the out_data value, a unique to_name value will be created by appending an underscore plus a number (for example, rivers_1) to the from_name value. | Value Table |
Code sample
The following Python window script demonstrates how to use the Copy function in immediate mode.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Copy("majorrds.shp", "C:/output/majorrdsCopy.shp")
The following Python script demonstrates how to use the Copy function in a stand-alone script.
# Name: Copy_Example2.py
# Description: Copy major roads dataset to preserve the original data
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/data"
# Set local variables
in_data = "majorrds.shp"
out_data = "C:/output/majorrdsCopy.shp"
# Run Copy
arcpy.management.Copy(in_data, out_data)
The following Python script demonstrates how to use the associated_data parameter on the Copy function.
# Name: Copy_Example3.py
# Description: Copy a feature dataset and specify associated_data
# Import system modules
import arcpy
# The input is a feature dataset containing 3 feature classes: lakes, cities, rivers
in_data = "C:/data/proj.gdb/mexico"
out_data = "C:/data/proj.sde/mexico"
associated_data = ";".join(["lakes FeatureClass mexico_lakes #",
"cities FeatureClass mexico_cities #",
"rivers FeatureClass mexico_rivers #"])
# Rename each feature class during the copy operation using the associated_data parameter
arcpy.management.Copy(in_data, out_data, associated_data=associated_data)
This following Python window script demonstrates how to use the Copy function with a feature dataset and specify the associated_data parameter within an enterprise geodatabase environment.
import arcpy
arcpy.management.Copy(
in_data=r"C:\Users\GIS\SQLServerDatabase.sde\DBO.Mexico",
out_data=r"C:\Users\GIS\SQLServerDatabase.sde\DBO.PyCmd_Mexico",
data_type="FeatureDataset",
associated_data="DBO.Rivers FeatureClass DBO.PyCmd_Rivers #;DBO.Lakes FeatureClass DBO.PyCmd_Lakes #;DBO.Cities FeatureClass DBO.PyCmd_Cities #"
)
The following Python script demonstrates how to use the Copy function with a feature dataset and specify the associated_data parameter within an enterprise geodatabase environment.
# Description: Copy a feature dataset and specify associated_data within an
# Enterprise geodatabase environment
# Import system modules
import arcpy
# The input is a feature dataset containing 3 feature classes: lakes, cities,
# rivers.
in_data = r"C:\Users\GIS\SQLServerDatabase.sde\DBO.Mexico"
# The output is a new feature dataset that the feature classes from in_data will
# be copied to
out_data = r"C:\Users\GIS\SQLServerDatabase.sde\DBO.Py_Mexico"
# Define schema of the from_name and to_name values when preparing data to be
# created in an enterprise geodatabase
associated_data = ";".join(["DBO.Lakes FeatureClass DBO.Py_Lakes #",
"DBO.Cities FeatureClass DBO.Py_Cities #",
"DBO.Rivers FeatureClass DBO.Py_Rivers #"])
# Rename each feature class during the copy operation using the associated_data
# parameter
arcpy.management.Copy(in_data, out_data, associated_data=associated_data)