Python - Recursividad y lectura de nombres de ficheros.

 
Vista:
sin imagen de perfil

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Recursividad y lectura de nombres de ficheros.

Publicado por Evys Ancede (16 intervenciones) el 24/05/2013 15:10:15
Tienes dos posibilidades, una, si estas en linux puedes hacer un script que llame al otro y quedaria mas o menos de esta forma.
1
2
3
4
5
#! /bin/bash
for file in `ls *.shp`
   do
        python ogr2osm.py $file
done

La otra posibilidad es adicionar un bucle que vaya ejecutando el programa ogr2osm.py sobre cada fichero .shp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Recursividad y lectura de nombres de ficheros.

Publicado por Matías (2 intervenciones) el 27/05/2013 07:50:14
Hola.

Muchas gracias, intentaré esa solución a ver que tal.

Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar