I work with several MXD’S and i try to update a group layer named “allHa” containing several layers with this code:
import arcpy,os,sys,string
import arcpy.mapping
from arcpy import env
env.workspace = r"D:PROJECTSroad_20gis"
sourceLayer = arcpy.mapping.Layer(r"D:PROJECTSroad_20gislayers16_12_15allHa.lyr")
for mxdname in arcpy.ListFiles("*.mxd"):
print mxdname
mxd = arcpy.mapping.MapDocument(r"D:PROJECTSroad_20gis\" + mxdname)
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
updateLayer = arcpy.mapping.ListLayers(mxd, "allHa", df)[0]
dfList = arcpy.mapping.ListDataFrames(mxd, "*")
for df in dfList:
for lyr in arcpy.mapping.ListLayers(mxd, "", df):
if lyr.name == u"allHa":
arcpy.mapping.UpdateLayer(df, lyr, sourceLayer, True)
print 'UpdateLayer'
mxd.save()
del mxd
but i get an error:
>>>
antiquities__55-30__403.mxd
Traceback (most recent call last):
File "C:Program FilesCCleaneryaronshonotsoftware---gis--- toolsYARON_SCRIPTSUpdateLayer 1 df.py", line 16, in <module>
arcpy.mapping.UpdateLayer(df, updateLayer, sourceLayer, True)
File "C:Program Files (x86)ArcGISDesktop10.3ArcPyarcpyutils.py", line 182, in fn_
return fn(*args, **kw)
File "C:Program Files (x86)ArcGISDesktop10.3ArcPyarcpymapping.py", line 1897, in UpdateLayer
tl._update(rl, symbology_only)
ValueError: LayerObject: Unexpected error
>>>