如果这是一个简单的解决方案,我对编码任何东西都很抱歉。
当我导出我的地图时,一切都很好,我的脚本完美地替换了文本。但是,当我手动打开地图文档以将其可视化时,文本仍然与替换之前相同。我什至从该文件夹中导出了一张地图而不替换文本,它显示文本已被替换。我不确定发生了什么事。在 mxd.save() 之前,我也使用了 arcpy.RefreshActiveView,但它仍然无法正常工作。任何帮助,将不胜感激。
import arcpy
import os
import glob
folder = r"C:\Workspace\MapTest"
oldtext = '7351'
newtext = '7352'
mxds = glob.glob(folder + '\\' + '*.mxd')
arcpy.gp.overwriteOutput = True
for mxdFile in mxds:
mxd = arcpy.mapping.MapDocument(mxdFile)
for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
if elm.text ==oldtext:
elm.text = newtext
eps = mxdFile.replace('mxd', 'eps')
arcpy.mapping.ExportToEPS(mxd,eps)
mxd.save()
del mxd
另外,我不确定如何将我的 eps 文档导出到另一个文件夹中。我也将不胜感激。