[Tutor] Checking Syntax
Kevin Pearson
kevinfpearson at gmail.com
Thu Jun 18 21:55:15 CEST 2009
I am teaching myslef Python from a GIS tutorial
'Writing_Geoprocessing_Scripts.pdf'.
I have typed everything exactly like it is in the tutorial and when I go to
run a check on the sytax (before I try running the program) it places a
cursor like so:
outFeatureClas|s = outWorkspace + "/" +
GP.ValidateTableName(fc,outWorkspace)
I have checked the tutorial and I can't see what is wrong. I can't get past
this until it is corrected.
I have attached the script.
Any advice would be greatly appreciated.
Thanks,
Kevin
#Import standard library modules
#imports system, operating system & Windows 32 modules
#sys refers to Python system, os refers to acess to operating system
import win32com.client, sys, os
#Create the Geoprocessor object
GP = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1")
#Set the input workspace
#argv = argument value
#argv[1] is the name of the script
GP.workspace = sys.argv[1]
#Set the clip featureclass
clipFeatures = sys.argv[2]
#Set the output workspace
outWorkspace = sys.argv[3]
#Set the cluster tolerance
clusterTolerance = sys.argv[4]
#try statement defines the beginning of a block of code that will be
#handled by its associated exception handler, or except statement
#try/except statements are used to handle unexpected errors
#this defines that the program should do when an exception happens
try:
#Get a list of the featureclasses in the input folder
fcs = GP.ListFeatureClasses()
#Loop through the list of feature classes
#always reset a list so the first item is extracted
#so you can be sure you get the first item in the list
fcs.Reset()
fc = fcs.Next()
while fc:
#Validate the new feature class name for the output workspace.
#ValidateTableName ensures output name is valid for output
#workspace, it returns unique name so no existing data is overwritten.
outFeatureClass = outWorkspace + "/" + GP.ValidateTableName(fc,
outWorkspace)
#Clip each feature class in list with the clip feature class.
#Do not clip the clipFeatures, it may be in the same workspace.
if str(fc) != str(os.path.split(clipFeatures)[1]):
GP.Clip(fc, clipFeatures, outFeatureClass,
clusterTolerance)
fc = fcs.Next()
except:
#except statement is required by the earlier try statement
#if an error occurs during execution the code in the except
#block will run
GP.AddMessage(GP.GetMessages(2))
print GP.GetMessages(2)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20090618/0434d174/attachment.htm>
More information about the Tutor
mailing list