Daha çox

AssertionError: arcpy.mapping.MapDocument () -dan etibarsız MXD fayl adı?


Hər xəritə sənədinin qatlarını bir qovluğa yazmağıma imkan verən bir ssenari yazmağa çalışıram. Ancaq ilk xəritə sənədindəki qatları göstərdikdən sonra bu xətanı almağa davam edirəm:

Traceback (son zəng son): "C: Python27 ArcGIS10.1 Lib site-packages pythonwin pywin framework scriptutils.py" faylı, 326 sətir, RunScript exec codeObject in əsas.dikt "C: Users Daimon Nurse Desktop DFMPROJECT Scripts editmapdocument8.py" faylı, sətir 10, mxd = arcpy.mapping.MapDocument (file) File "C: Program Files (x86) ArcGIS Desktop10. 1 arcpy arcpy arcobjects mixins.py ", sətir 608, içərisində içində assert (os.path.isfile (mxd) or (mxd.lower () == "current")), gp.getIDMessage (89004, "Invalid MXD file name") AssertionError: Yanlış MXD fayl adı.

Bu sınadığım kod:

import arcpy import os PATH2 = r "C:  Users  Daimon Nurse  Desktop  DFMPROJECT" arcpy.env.workspace = PATH2 arcpy.env.overwriteOutput = Arcpy.ListFiles ("*. mxd") içindəki fayl üçün doğrudur: mxd = arcpy.mapping.MapDocument (fayl) lyr = arcpy.mapping.ListLayers (mxd) çap lyr

Yalnız ilk təkrarlama üçün işlədi. Niyə?


Mxd-nin tam yolunu arcpy.mapping.MapDocument () funksiyasına keçməlisiniz.

import arcpy import os PATH2 = r "C:  Users  Daimon Nurse  Desktop  DFMPROJECT" arcpy.env.workspace = PATH2 arcpy.env.overwriteOutput = Arcpy.ListFiles ("*. mxd") içindəki fayl üçün doğrudur: mxd_path = os.path.join (PATH2, fayl) mxd = arcpy.mapping.MapDocument (mxd_path) lyr = arcpy.mapping.ListLayers (mxd) çap lyr