具体代码如下:
e = arcpy.GetParameterAsText(0)
arcpy.env.workspace = e
mon = []
file = arcpy.ListFiles() 数组提取和建立
for i in file:
mon.append(i)
del file,i
for i in mon: 文件夹遍历
f = zipfile.ZipFile(os.path.join(e,i) + ".zip",'w') 文件夹压缩
for dirpath,dirnames,filenames in os.walk(os.path.join(e,i)):
arcpy.AddMessage(filenames)
for filename in filenames:
arcpy.AddMessage(dirpath[dirpath.index(i):])
f.write(os.path.join(dirpath,filename),os.path.join(dirpath[dirpath.index(i):],filename))
f.close()
键入脚本即可。
如果将:os.path.join(dirpath[dirpath.index(i):],filename))改为
os.path.join(dirpath.replace(dirpath,“”),filename))将直接抓取文件夹中的文件进行压缩。