我正在尝试导出子目录中的所有地图。你知道吗
我有要导出的代码,但我不知道在何处添加循环,以使它对所有子目录都这样做。现在,它正在导出目录中的地图,但不导出子文件夹。你知道吗
import arcpy, os
arcpy.env.workspace = ws = r"C:\Users\162708\Desktop\Burn_Zones"
for subdir, dirs, files in os.walk(ws):
for file in files:
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
我做错了什么,它不能遍历子文件夹?你知道吗
谢谢你!你知道吗
遍历os.步行结果您应该给出包含
(path, dirs, files)
的元组(元组中的第一个是包含files
的当前路径,这就是为什么我倾向于这样命名它)。当前目录不会自动更改,因此您需要将其合并到指定给arcpy.ListFiles
的路径中,如下所示:您还应该移除循环
for file in files
。似乎您要导出每个目录下的文件,那么为什么每次都要为每个文件导出整个目录呢?你知道吗您还应该将
arcpy.mapping.MapDocument(os.path.join(ws, mxd))
更改为arcpy.mapping.MapDocument(os.path.join(path, mxd))
,其中path
又是os.walk
的第一个元素。你知道吗相关问题 更多 >
编程相关推荐