我是使用python进行编码的超级新手。对于我的工作,我们有需要批量导出的ESRI地图(.MXD)。问题是每个地图都在主文件夹中的自己的文件夹中。我发现了一个批量导出我的地图的代码,如果它们在同一个目录中(尽管它不断给出一个无效的语法错误)。我还找到了一个应该查看所有子目录的代码,但我不知道如何将它与第一个代码结合起来。
导出我的地图代码(arcpy是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 \以及它们的所有组合尝试了路径名。这不起作用,这是我唯一能想到的。
非常感谢y'所有的帮助!
答案 0 :(得分:1)
你在路径周围使用了错误的引号。这是你的错误吗?
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