import arcpy, os, glob # Set Workspace base_Folder = r"N:\BASE_DATA\CANVEC\1_to_50k" arcpy.env.Workspace = base_Folder arcpy.env.OverwriteOutput = True # User input for NTS mapsheet name. This variable is also used to search for the correct mapsheet. map_No = arcpy.GetParameterAsText(0) # Canvec data is stored in folders, broken down by 1:50000 mapsheet number (eg: 031, 001, 045, etc). # This variable extracts the folder name to be used when finding the correct folder folder_Name = map_No[0:3] # print folder_Name #Established the correct folder to look in when loading the specified layers. search_Folder = base_Folder + "\\" + folder_Name + "\\" + map_No print search_Folder ##mxd = arcpy.mapping.MapDocument("CURRENT") ##dataFrame = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] shp_List = arcpy.ListFiles("*.shp") for layer in shp_List: mxd = arcpy.mapping.MapDocument("CURRENT") dataFrame = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] layer_Path = search_Folder + "\\" + layer addLayer = arcpy.mapping.Layer(layer_Path) arcpy.mapping.AddLayer(dataFrame, addLayer, "BOTTOM") arcpy.RefreshTOC() arcpy.RefreshActiveView() del addLayer, layer_Path, mxd
Traceback (most recent call last): File "N:/DOCUMENTATION/PYTHON/Canvec_Symbolization/test2.py", line 44, in <module> for layer in arcpy.ListFiles():
import arcpy # Set Workspace base_Folder = r"N:\BASE_DATA\CANVEC\1_to_50k" # User input for NTS mapsheet name. This variable is also used to search for the correct mapsheet. map_No = arcpy.GetParameterAsText(0) # Canvec data is stored in folders, broken down by 1:50000 mapsheet number (eg: 031, 001, 045, etc). # This variable extracts the folder name to be used when finding the correct folder folder_Name = map_No[0:3] # print folder_Name #Established the correct folder to look in when loading the specified layers. search_Folder = base_Folder + "\\" + folder_Name + "\\" + map_No arcpy.env.Workspace = search_Folder print search_Folder # list files in workspace fileList = arcpy.ListFiles() for file in fileList: #...
basefolder\ 031\ 031L1\ --map1.shp --map2.shp 031L33\ --map3.shp --map4.shp
import arcpy, os, glob # Set Workspace base_Folder = r"e:\test" arcpy.env.Workspace = base_Folder arcpy.env.OverwriteOutput = True # User input for NTS mapsheet name. This variable is also used to search for the correct mapsheet. map_No = arcpy.GetParameterAsText(0) #map_No = "031L33" arcpy.AddMessage("Map Number: " + map_No) # Canvec data is stored in folders, broken down by 1:50000 mapsheet number (eg: 031, 001, 045, etc). # This variable extracts the folder name to be used when finding the correct folder folder_Name = map_No[0:3] arcpy.AddMessage("Folder Name: " + folder_Name) # print folder_Name #Established the correct folder to look in when loading the specified layers. search_Folder = base_Folder + "\\" + folder_Name + "\\" + map_No arcpy.AddMessage("Search Folder: " + search_Folder) print search_Folder ##mxd = arcpy.mapping.MapDocument("CURRENT") ##dataFrame = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] shp_List = glob.glob(str(search_Folder) + "\*.shp") arcpy.AddMessage("Shp List: ") for lyr in shp_List: arcpy.AddMessage(lyr) print shp_List for layer in shp_List: mxd = arcpy.mapping.MapDocument("CURRENT") dataFrame = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] addLayer = arcpy.mapping.Layer(layer) arcpy.mapping.AddLayer(dataFrame, addLayer, "BOTTOM") arcpy.RefreshTOC() arcpy.RefreshActiveView() del addLayer, mxd
import arcpy, os, glob
# Set Workspace
base_Folder = r"c:\test"
arcpy.env.Workspace = base_Folder
arcpy.env.OverwriteOutput = True
# User input for NTS mapsheet name. This variable is also used to search for the correct mapsheet.
map_No = arcpy.GetParameterAsText(0)
arcpy.AddMessage("Map Number: " + map_No)
# Canvec data is stored in folders, broken down by 1:50000 mapsheet number (eg: 031, 001, 045, etc).
# This variable extracts the folder name to be used when finding the correct folder
folder_Name = map_No[1000:9999]
arcpy.AddMessage("Folder Name: " + folder_Name)
# print folder_Name
#Established the correct folder to look in when loading the specified layers.
search_Folder = base_Folder + "\\" + folder_Name + "\\" + map_No
arcpy.AddMessage("Search Folder: " + search_Folder)
print search_Folder
##mxd = arcpy.mapping.MapDocument("CURRENT")
##dataFrame = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
shp_List = glob.glob(str(search_Folder) + "zones.shp")
arcpy.AddMessage("Shp List: ")
for lyr in shp_List:
arcpy.AddMessage(lyr)
print shp_List
for layer in shp_List:
mxd = arcpy.mapping.MapDocument("CURRENT")
dataFrame = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
addLayer = arcpy.mapping.Layer(layer)
arcpy.mapping.AddLayer(dataFrame, addLayer, "BOTTOM")
arcpy.RefreshTOC()
arcpy.RefreshActiveView()
del addLayer, mxd