0

I am not getting any response from this script and no error displayed at all

I am writing this script to help me display the feature classes in my geodatabase

Here is my script

import arcpy
arcpy.env.workspace = r"Q:\basemaps\ALTA\FileGeodatabase\AB_IHS_GIS_DATA.gdb"
logfile = open(r"C:\tmp\log.txt ","w")
fcLst = arcpy.ListFeatureClasses()
for fc in fcLst:
 logfile.write(fc + "\n")
 logfile.close()
PolyGeo
65.5k29 gold badges115 silver badges350 bronze badges
asked Aug 3, 2012 at 15:42

1 Answer 1

7

Make sure the directory C:\tmp exists. If it does not, your third call will fail. I normally use unicode and double slashes for my workspaces.

u"J:\\restored-20101025\\basemaps\\ALTA\\FileGeodatabase\\GEOBASE_GIS_DATA.gdb"

But the big problem is that your logfile.close() is inside your for loop. That needs to be outside the for loop, or else you will close the logfile after the first featureclass name is written. You also have a typo in your variable assignment for fcLst.

import arcpy, os
arcpy.env.workspace = u"J:\\restored-20101025\\basemaps\\ALTA\\FileGeodatabase\\GEOBASE_GIS_DATA.gdb"
if os.path.exists(arcpy.env.workspace):
 if not os.path.isdir(r"C:\tmp"):
 os.mkdir(r"C:\tmp")
 logfile = open(r"C:\tmp\log.txt", "w")
 fcList = arcpy.ListFeatureClasses()
 dsList = arcpy.ListDatasets()
 for fc in fcList:
 logfile.write(fc+"\n")
 for ds in dsList:
 fcList = arcpy.ListFeatureClasses("","All",ds)
 for fc in fcList:
 logfile.write(fc+"\n")
 logfile.close() 
else:
 print("Workspace does not exist.")
answered Aug 3, 2012 at 16:13
14
  • yes the temp folder does exist and i tried re-writing the code again and now i dont get any error at but it does not display the feature classes Commented Aug 3, 2012 at 16:18
  • Just added a code sample Commented Aug 3, 2012 at 16:22
  • I got the problem sorted out. The feature classed were in another subfolder inside the geodatabase. my code is right so what happens is that when i run the script it list the feature classes inside the tmp folder in my c drive as specified Commented Aug 3, 2012 at 16:28
  • Sounds like they were in a feature dataset. I modified the script again to deal with those too. The one feature class this script will not get to is a feature class inside a feature type inside a feature dataset, e.g. the feature classes inside a parcel fabric inside a feature dataset. Commented Aug 3, 2012 at 17:17
  • 2
    Hi @Shade, if you found blord-castillo's answer helpful, would you mind "accepting" it? There's a checkbox beneath the voting buttons. It's a small thing, but it's part the currency that drives stack exchange. You might find that people are less willing to help you if you don't participate. Commented Aug 3, 2012 at 22:12

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.