ListDataFrames
Récapitulatif
Returns a Python list of DataFrame objects that exist within a single map document (.mxd).
Discussion
ListDataFrames always returns a Python list object even if only one data frame is returned. In order to return a DataFrame object, an index value must be used on the list (e.g., df = arcpy.mapping.ListDataFrames(mxd)[0]). For loops on a list provide an easy mechanism to iterate through each item in a list (e.g., for df in arcpy.mapping.ListDataFrames(mxd):).
Wildcards are not case sensitive. A wildcard string of "la*" will return a data frame with a name Layers.
It is possible that there might be data frames in a map document that have the same name. If that is the case, then other properties may need to be used to isolate a specific data frame. Properties such as a data frame's credits or description could be used to do this. It is ideal that all data frames be uniquely named.
Syntaxe
Paramètre | Explication | Type de données |
map_document |
A variable that references a MapDocumentobject. | MapDocument |
wildcard |
A combination of asterisks (*) and characters can be used to help limit the results. (La valeur par défaut est None) | String |
Type de données | Explication |
DataFrame |
A Python list of DataFrame objects. |
Exemple de code
This script will search for a data frame with the name Transportation and set the scale and rotation to the appropriate values.
import arcpy mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd") for df in arcpy.mapping.ListDataFrames(mxd, "t*"): if df.name.lower == "transportation": df.scale = 24000 df.rotation = 5.5 mxd.saveACopy(r"C:\Project\Project2.mxd") del mxd