
Recursividad y lectura de nombres de ficheros.
Publicado por Matías (2 intervenciones) el 22/05/2013 21:29:24
Hola. En primer, siento decir que no tengo ni idea de programar, pero por un tema tengo que trabajar con un script ya desarrollado http://svn.openstreetmap.org/applications/utils/import/ogr2osm/.
Basicamente lo que hace este script es leer un archivo en un formato (shp, kml, ) y lo transforma en otro de tipo de fichero, con extensión .osm.
La ejecución es así. En un directorio donde tengo el programa ogr2osm.py tengo también el fichero .shp a convertir (también podría tenerlo en una carpeta indicándole la ruta)
python ogr2osm.py archivo.shp archivo.osm (Esta sería la sentencia desde linea de comando. Por defecto toma el mismo nombre de salida que el de entrada).
Ahora el problema es que si en vez de un sólo archivo tengo como es el caso 300, tendría que repetir esta sentencia 300 veces, modificando sólamente el nombre del archivo de entrada.
Mi pregunta, sería muy difícil hacer un pequeño script o modificar el ogr2osm para que en vez de leer un solo archivo todos los archivos .shp que hubiese en un directorio y el programita sólo hiciese el mismo trabajo sobre cada .shp de forma automática?.
Por lo que he podido leer hay formas de hacer que un scrip se ejecute lanzándolo desde otro y también que es posible acceder a la lectura de archivos dentro de un directorio. La solución tiene que ser una combinación de estas dos posibilidades.
Gracias
Basicamente lo que hace este script es leer un archivo en un formato (shp, kml, ) y lo transforma en otro de tipo de fichero, con extensión .osm.
La ejecución es así. En un directorio donde tengo el programa ogr2osm.py tengo también el fichero .shp a convertir (también podría tenerlo en una carpeta indicándole la ruta)
python ogr2osm.py archivo.shp archivo.osm (Esta sería la sentencia desde linea de comando. Por defecto toma el mismo nombre de salida que el de entrada).
Ahora el problema es que si en vez de un sólo archivo tengo como es el caso 300, tendría que repetir esta sentencia 300 veces, modificando sólamente el nombre del archivo de entrada.
Mi pregunta, sería muy difícil hacer un pequeño script o modificar el ogr2osm para que en vez de leer un solo archivo todos los archivos .shp que hubiese en un directorio y el programita sólo hiciese el mismo trabajo sobre cada .shp de forma automática?.
Por lo que he podido leer hay formas de hacer que un scrip se ejecute lanzándolo desde otro y también que es posible acceder a la lectura de archivos dentro de un directorio. La solución tiene que ser una combinación de estas dos posibilidades.
Gracias
Valora esta pregunta


0