我是超级全新的编码与python。对于我的工作,我们有需要批量导出的ESRI映射(.MXDs)。问题是每个地图都在主文件夹中自己的文件夹中。如果映射位于同一个目录中,我找到了一个代码来批量导出我的地图(尽管它总是给出一个无效的语法错误)。我还找到了一个应该查看所有子目录的代码,但是我不知道如何将它与第一个代码结合起来。
导出我的地图代码(根据我收集的内容,ArcMap是如何使用python的):
import arcpy, os
arcpy.env.workspace = ws = r”C:\Users\Me\Desktop\Burn_Zones” #This is where I am getting that invalid syntax error!
mxd_list = arcpy.ListFiles("*.mxd")
for mxd in mxd_list:
current_mxd = arcpy.mapping.MapDocument(os.path.join(ws, mxd))
pdf_name = mxd[:-4] + ".pdf"
arcpy.mapping.ExportToPDF(current_mxd, pdf_name)
del mxd_list
所以这是第一个问题。查看所有子目录的代码是:
for root, dirs, files in os.walk(path):
for name in files:
if name.endswith((".html", ".htm")):
我不认为我需要第二个for循环,因为第一个代码应该为我抓取所有的.mxds。那么,我只需要mxd_list = arpy.ListFiles(".mxd")代码行上的第一个for循环和块吗?
哦,还有那条错误线。我已经用C:\和Burn_Zones\以及所有这些组合尝试了路径名。那不管用,这是我唯一能想到的。
非常感谢你们的帮助!
发布于 2016-12-07 21:40:18
你在你的道路上使用了错误的引号。这是你的错误吗?
arcpy.env.workspace = ws = r”C:\Users\162708\Desktop\Burn_Zones”
^
SyntaxError: invalid character in identifier
用实际双引号代替那些“引号”。
r”C:\Users\162708\Desktop\Burn_Zones” # wrong
r"C:\Users\162708\Desktop\Burn_Zones" # correct
https://stackoverflow.com/questions/41027832
复制相似问题