Processing math: 100%

1 votos

Error de aserción, python

Estoy tratando de hacer una herramienta para exportar pdfs de un directorio: Encontré una en internet pero era muy lenta, estoy tratando de codificarla más eficientemente. Estoy recibiendo un AssertionError y no estoy seguro de cómo solucionarlo.

import arcpy
import os

arcpy.env.workspace = r"C:\Users\jds\Desktop\MXD_Export_Test"

folderPath = r"C:\Users\jds\Desktop\MXD_Export_Test"

mxdList = arcpy.ListFiles("*.mxd")

for mxd in mxdList:  
    saveName = mxd.split(".")[0] + ".pdf"
    savePath = os.path.join(folderPath, saveName) 
    arcpy.mapping.ExportToPDF(mxd, savePath)  

Error =

Traceback (most recent call last): Archivo " C:\Python27\ArcGIS10.3\Lib\site -paquetes \pythonwin\pywin\framework\scriptutils.py ", línea 326, en RunScript exec codeObject in principal . dictar Archivo " C:\Users\jds\Desktop\Scripts\Export_PDF_From_Directory.py ", línea 14, en arcpy.mapping.ExportToPDF(mxd, savePath) Archivo " C:\Program Archivos (x86) \ArcGIS\Desktop10.3\ArcPy\arcpy\utils.py ", línea 182, en fn_ return fn(*args, **kw) Archivo " C:\Program Archivos (x86) \ArcGIS\Desktop10.3\ArcPy\arcpy\mapping.py ", línea 1148, en ExportToPDF assert isinstance(map_document, MapDocument) AssertionError

3voto

sundry-somerset Puntos 16

Tu variable mxd tal y como está no es un objeto MapDocument, es sólo una ruta. Tienes que añadir quizás una línea debajo del bucle:

for mxd in mxdList:  
    md = arcpy.mapping.MapDocument(mxd)
    saveName = mxd.split(".")[0] + ".pdf"
    savePath = os.path.join(folderPath, saveName) 
    arcpy.mapping.ExportToPDF(md, savePath)  

Consulte la documentación aquí: ExportToPDF

0voto

Martin Puntos 3187

Bien,

Lo he resuelto, con ayuda de Jvhowube.

No sólo necesitaba un objeto de mapa, sino que el objeto de mapa debía ser la ruta completa del archivo.

for mxd in mxdList:
    fullPath = os.path.join(folderPath, mxd)
    md = arcpy.mapping.MapDocument(fullPath)
    saveName = mxd.split(".")[0] + ".pdf"
    savePath = os.path.join(folderPath, saveName)
    arcpy.mapping.ExportToPDF(md, savePath)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X