Python Forum
Search and Sort Shapefiles - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Search and Sort Shapefiles (/thread-3299.html)



Search and Sort Shapefiles - babakkasraie - May-12-2017

Hello 
How can I search my shapefiles using python codes to find all shapefiles that start with for instance "landuse" and show the results in a message box? 
I used the following code but they return nothing. 
Would you have a look on them and remind me about errors?
Thanks for help.

# import arcpy module

import arcpy
import sys
from arcpy import env
import os
import fnmatch
#the list of variables all hard coded to decrease errors 
# Set the workspace for  ListFeatureClass functions
env.workspace = "C:/GIS_database/module5/module5data.mdb"
# set the variables
# path to the shapefiles
folder = "C:/GIS_database/module5/module5data.mdb"
# Looking for all files starting with landuse and a wildcard *
pattern = 'landuse*.shp'
# This is a master shapefile
filename = "C:/GIS_database/module5/land_use_merged.shp"
# This is the list of shapefiles starting landuse
shpList = []
# add file names to shpList.
for path,dirs,files in os.walk(folder):
   for filename in fnmatch.filter(files, pattern):
        shpList.append(os.path.join(path, filename))
# Add all names stored in shpList to a message box
for fc in shpList:
   arcpy.AddMessage(fc)



RE: Search and Sort Shapefiles - Low_Ki_ - May-12-2017

(May-12-2017, 03:39 PM)babakkasraie Wrote: Hello 
How can I search my shapefiles using python codes to find all shapefiles that start with for instance "landuse" and show the results in a message box? 
I used the following code but they return nothing. 
Would you have a look on them and remind me about errors?
Thanks for help.

my code here
# import arcpy module

import arcpy
import sys
from arcpy import env
import os
import fnmatch
#the list of variables all hard coded to decrease errors 
# Set the workspace for  ListFeatureClass functions
env.workspace = "C:/GIS_database/module5/module5data.mdb"
# set the variables
# path to the shapefiles
folder = "C:/GIS_database/module5/module5data.mdb"
# Looking for all files starting with landuse and a wildcard *
pattern = 'landuse*.shp'
# This is a master shapefile
filename = "C:/GIS_database/module5/land_use_merged.shp"
# This is the list of shapefiles starting landuse
shpList = []
# add file names to shpList.
for path,dirs,files in os.walk(folder):
   for filename in fnmatch.filter(files, pattern):
        shpList.append(os.path.join(path, filename))
# Add all names stored in shpList to a message box
for fc in shpList:
   arcpy.AddMessage(fc)


You need to use ctrl + shift + v to paste code between python code blocks


RE: Search and Sort Shapefiles - nilamo - May-12-2017

(May-12-2017, 03:39 PM)babakkasraie Wrote:
folder = "C:/GIS_database/module5/module5data.mdb"
for path,dirs,files in os.walk(folder):
An .mdb file is probably not a folder, so os.walk wouldn't return anything at all. Which is probably why you're not seeing any output at all :p


RE: Search and Sort Shapefiles - babakkasraie - May-13-2017

Thanks 

I will try folder.

Thanks Nilamo 

Next time I will try the code tags. Well I still don't know how I should find and use them. 
A little instruction,, if possible for you, will be a good help, Thanks. 

Regards 
Babak


RE: Search and Sort Shapefiles - buran - May-13-2017

See BBCode help


RE: Search and Sort Shapefiles - babakkasraie - May-13-2017

I transferred the shapefiles into a folder and the script works now. 
Amazing help
Thank you.