Supongo que esto depende de la frecuencia con la que se quiera ejecutar el script, de si se quiere o no codificar las cuadrículas de los clips y de los shapefiles de salida.
Muy simple, tendría un diccionario, de clip_grid : output_shapefile, bucle a través de eso y escupir la salida.
import arcgisscripting
#Create the geoprocessor
gp = arcgisscripting.create(9.3)
input_shape = "yourshapefile.shp" #<-- this single file will be clipped repeatedly
#grids and corresponding outputs go here
clip_dictionary = {"clipgrid1.shp":"output1.shp", "clipgrid2.shp":"output2.shp"}
for iter in clip_dictionary:
#Clip_analysis (in_features, clip_features, out_feature_class, cluster_tolerance)
gp.Clip_analysis(input_shape, iter, clip_dictionary[iter])
Espero que eso ayude.
sys.argv es una posibilidad si desea leer los argumentos desde la línea de comandos (o si desea añadir el script a la caja de herramientas ). También puede utilizar getopt ou optparse también.
Supongamos que tenemos un script llamado clip_export.py, al que queremos pasar una lista de entradas. Podríamos ejecutar el script como
clip_export.py input_shape clipshape_1;clipshape_2;clipshape_3 output_folder
Tenga en cuenta que esto es similar a la entrada que se envía a un script de python por Toolbox.
En cualquier caso, puedes leer esto en tu guión así:
import sys
input_shape = sys.argv[1] #<-- Note that the 0th argument in sys.argv is the script name
clip_shape_list = sys.argv[2].split(';') #<-- splits the second argument on the semicolon into a python list
output_folder = sys.argv[3]
A partir de aquí ejecuta el resto de tu script. Como @Simon Norris muestra a continuación.
De nuevo, ¡espero que esto ayude!