Re: [Tutor] Run application from MS-DOS with sys.argv

2011-04-01 Thread Blockheads Oi Oi

On 01/04/2011 18:15, Susana Iraiis Delgado Rodriguez wrote:

Hello!

I'm going to answer to the question I posted in this list.
After a search trouhg web and analize the code, I just had to add a
try/except statement. Now I get what I need. Here is the information:

directorio = sys.argv[1]
extension = sys.argv[2]
csv_salida = sys.argv[3]
#Here I add the line:
try:
  if len(sys.argv) == 4:
  
  
else:
 print "Tus argumentos no son correctos"
and here:
except IndexError:
 print "Tus argumentos no son correctos"



You appear to be mixing two ways of doing the same thing.  Either check 
the number of entries in sys.argv or catch the index error, don't do 
both.  Read this, it probably explains things better than I can 
http://mail.python.org/pipermail/python-list/2003-May/203039.html




2011/3/29 Susana Iraiis Delgado Rodriguez mailto:susana.delgad...@utzmg.edu.mx>>

Hello List:

I developed a script to walk through a specific directory in my PC
and look for files with the same extension (.shp). I want the user
to enter from MS-DOS and write the the directory, file extension and
csv filename.
My script reads the arguments from Windows console, but when I
opened the txt file and csv file I noticed that isn't walking
through all the root I wrote in MS-DOS. This is my module:

import os, csv, time, socket, sys
from osgeo import ogr,gdal,osr
#This should be the order for the arguments('csv_args.py [root]
[file_extension] [csv filename]')
#The user is typing python csv_args.py C:\ .shp csv.csv
directorio = sys.argv[1]
extension = sys.argv[2]
csv_salida = sys.argv[3]
if len(sys.argv) == 4:
 print 'Iniciando...'
 gdal.AllRegister()
 file_list = []
 folders = None
 for root, folders, files in os.walk(directorio):
 file_list.extend(os.path.join(root,fi) for fi in files if
fi.endswith(extension))
 f = open(csv_salida, 'wb')
 log = open ('errores.txt','w')
 writer = csv.writer(f)
 ruta = 'Ruta'
 archivo = 'archivo'
 x_min = 'x_min'
 x_max = 'x_max'
 y_min = 'y_min'
 y_max = 'y_max'
 geometria = 'geometria'
 num_elem = 'num_elem'
 prj = '.prj'
 proyeccion = 'proyeccion'
 fecha = 'fecha_modificacion'
 maq = 'maquina_host'
 usu = 'usuario'
 campos =

[ruta,archivo,x_min,x_max,y_min,y_max,geometria,num_elem,prj,proyeccion,fecha,maq,usu]
 writer.writerow(campos)
 for row, filepath in enumerate(file_list, start=1):
 (ruta, filename) = os.path.split(filepath)
 shapeData = ogr.Open(filepath)
 shp = 'Error al abrir el archivo' +filepath
 if shapeData is None:
 print shp
 log.write(shp+"\n")
 else:
 layer = shapeData.GetLayer()
 feature = layer.GetNextFeature()
 x_y = layer.GetExtent()
 x1 = x_y[0]
 x2 = x_y[1]
 y1 = x_y[2]
 y2 = x_y[3]
 defn = layer.GetLayerDefn()
 geo = defn.GetGeomType()
 cuenta = layer.GetFeatureCount()
 proy = layer.GetSpatialRef()
 prjtext = ''+str(proy)+''
 n = os.path.splitext(filepath)
 p = n[0]+'.prj'
 shx = n[0]+'.shx'
 dbf = n[0]+'.dbf'
 filepath = ''+filepath+''
 filename = ''+filename+''
 t = time.strftime("%m/%d/%Y %I:%M:%S
%p",time.localtime(os.path.getmtime(filepath)))
 modificacion = ''+t+''
 usuario = os.environ.get("USERNAME")
 user = ''+usuario+''
 host = socket.gethostname()
 maquina = ''+host+''
 if os.path.exists(shx):
 print 'El archivo ' +shx +' existe'
 else:
 og.write('No existe el archivo ' +shx+"\n")
 if os.path.exists(dbf):
 print 'El archivo ' +dbf +' existe'
 else:
 log.write('No existe el archivo ' +dbf+"\n")
 if os.path.exists(p):
 aRow= [ filepath, filename, x1, x2, y1, y2, geo,
cuenta, 1, prjtext, modificacion, maquina, user]
 writer.writerow(aRow)
 else:
 aRow1= [ filepath, filename, x1, x2, y1, y2, geo,
cuenta, 0, prjtext, modificacion, maquina, user]
 writer.writerow(aRow1)
 log.close()
 f.close()
 print "El archivo esta listo"
else:
 print "Tus argumentos no son correctos"

___
Tutor maillist  -  Tutor@python.org
To 

Re: [Tutor] Run application from MS-DOS with sys.argv

2011-04-01 Thread Susana Iraiis Delgado Rodriguez
Hello!

I'm going to answer to the question I posted in this list.
After a search trouhg web and analize the code, I just had to add a
try/except statement. Now I get what I need. Here is the information:

directorio = sys.argv[1]
extension = sys.argv[2]
csv_salida = sys.argv[3]
#Here I add the line:
try:
 if len(sys.argv) == 4:
 
 
else:
print "Tus argumentos no son correctos"
and here:
except IndexError:
print "Tus argumentos no son correctos"





2011/3/29 Susana Iraiis Delgado Rodriguez 

> Hello List:
>
> I developed a script to walk through a specific directory in my PC and
> look for files with the same extension (.shp). I want the user to enter from
> MS-DOS and write the the directory, file extension and csv filename.
> My script reads the arguments from Windows console, but when I opened the
> txt file and csv file I noticed that isn't walking through all the root I
> wrote in MS-DOS. This is my module:
>
> import os, csv, time, socket, sys
> from osgeo import ogr,gdal,osr
> #This should be the order for the arguments('csv_args.py [root]
> [file_extension] [csv filename]')
> #The user is typing python csv_args.py C:\ .shp csv.csv
> directorio = sys.argv[1]
> extension = sys.argv[2]
> csv_salida = sys.argv[3]
> if len(sys.argv) == 4:
> print 'Iniciando...'
> gdal.AllRegister()
> file_list = []
> folders = None
> for root, folders, files in os.walk(directorio):
> file_list.extend(os.path.join(root,fi) for fi in files if
> fi.endswith(extension))
> f = open(csv_salida, 'wb')
> log = open ('errores.txt','w')
> writer = csv.writer(f)
> ruta = 'Ruta'
> archivo = 'archivo'
> x_min = 'x_min'
> x_max = 'x_max'
> y_min = 'y_min'
> y_max = 'y_max'
> geometria = 'geometria'
> num_elem = 'num_elem'
> prj = '.prj'
> proyeccion = 'proyeccion'
> fecha = 'fecha_modificacion'
> maq = 'maquina_host'
> usu = 'usuario'
> campos =
> [ruta,archivo,x_min,x_max,y_min,y_max,geometria,num_elem,prj,proyeccion,fecha,maq,usu]
> writer.writerow(campos)
> for row, filepath in enumerate(file_list, start=1):
> (ruta, filename) = os.path.split(filepath)
> shapeData = ogr.Open(filepath)
> shp = 'Error al abrir el archivo' +filepath
> if shapeData is None:
> print shp
> log.write(shp+"\n")
> else:
> layer = shapeData.GetLayer()
> feature = layer.GetNextFeature()
> x_y = layer.GetExtent()
> x1 = x_y[0]
> x2 = x_y[1]
> y1 = x_y[2]
> y2 = x_y[3]
> defn = layer.GetLayerDefn()
> geo = defn.GetGeomType()
> cuenta = layer.GetFeatureCount()
> proy = layer.GetSpatialRef()
> prjtext = ''+str(proy)+''
> n = os.path.splitext(filepath)
> p = n[0]+'.prj'
> shx = n[0]+'.shx'
> dbf = n[0]+'.dbf'
> filepath = ''+filepath+''
> filename = ''+filename+''
> t = time.strftime("%m/%d/%Y %I:%M:%S
> %p",time.localtime(os.path.getmtime(filepath)))
> modificacion = ''+t+''
> usuario = os.environ.get("USERNAME")
> user = ''+usuario+''
> host = socket.gethostname()
> maquina = ''+host+''
> if os.path.exists(shx):
> print 'El archivo ' +shx +' existe'
> else:
> og.write('No existe el archivo ' +shx+"\n")
> if os.path.exists(dbf):
> print 'El archivo ' +dbf +' existe'
> else:
> log.write('No existe el archivo ' +dbf+"\n")
> if os.path.exists(p):
> aRow= [ filepath, filename, x1, x2, y1, y2, geo, cuenta, 1,
> prjtext, modificacion, maquina, user]
> writer.writerow(aRow)
> else:
> aRow1= [ filepath, filename, x1, x2, y1, y2, geo, cuenta,
> 0, prjtext, modificacion, maquina, user]
> writer.writerow(aRow1)
> log.close()
> f.close()
> print "El archivo esta listo"
> else:
> print "Tus argumentos no son correctos"
>
>
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Run application from MS-DOS with sys.argv

2011-03-29 Thread Susana Iraiis Delgado Rodriguez
Hello List:

I developed a script to walk through a specific directory in my PC and look
for files with the same extension (.shp). I want the user to enter from
MS-DOS and write the the directory, file extension and csv filename.
My script reads the arguments from Windows console, but when I opened the
txt file and csv file I noticed that isn't walking through all the root I
wrote in MS-DOS. This is my module:

import os, csv, time, socket, sys
from osgeo import ogr,gdal,osr
#This should be the order for the arguments('csv_args.py [root]
[file_extension] [csv filename]')
#The user is typing python csv_args.py C:\ .shp csv.csv
directorio = sys.argv[1]
extension = sys.argv[2]
csv_salida = sys.argv[3]
if len(sys.argv) == 4:
print 'Iniciando...'
gdal.AllRegister()
file_list = []
folders = None
for root, folders, files in os.walk(directorio):
file_list.extend(os.path.join(root,fi) for fi in files if
fi.endswith(extension))
f = open(csv_salida, 'wb')
log = open ('errores.txt','w')
writer = csv.writer(f)
ruta = 'Ruta'
archivo = 'archivo'
x_min = 'x_min'
x_max = 'x_max'
y_min = 'y_min'
y_max = 'y_max'
geometria = 'geometria'
num_elem = 'num_elem'
prj = '.prj'
proyeccion = 'proyeccion'
fecha = 'fecha_modificacion'
maq = 'maquina_host'
usu = 'usuario'
campos =
[ruta,archivo,x_min,x_max,y_min,y_max,geometria,num_elem,prj,proyeccion,fecha,maq,usu]
writer.writerow(campos)
for row, filepath in enumerate(file_list, start=1):
(ruta, filename) = os.path.split(filepath)
shapeData = ogr.Open(filepath)
shp = 'Error al abrir el archivo' +filepath
if shapeData is None:
print shp
log.write(shp+"\n")
else:
layer = shapeData.GetLayer()
feature = layer.GetNextFeature()
x_y = layer.GetExtent()
x1 = x_y[0]
x2 = x_y[1]
y1 = x_y[2]
y2 = x_y[3]
defn = layer.GetLayerDefn()
geo = defn.GetGeomType()
cuenta = layer.GetFeatureCount()
proy = layer.GetSpatialRef()
prjtext = ''+str(proy)+''
n = os.path.splitext(filepath)
p = n[0]+'.prj'
shx = n[0]+'.shx'
dbf = n[0]+'.dbf'
filepath = ''+filepath+''
filename = ''+filename+''
t = time.strftime("%m/%d/%Y %I:%M:%S
%p",time.localtime(os.path.getmtime(filepath)))
modificacion = ''+t+''
usuario = os.environ.get("USERNAME")
user = ''+usuario+''
host = socket.gethostname()
maquina = ''+host+''
if os.path.exists(shx):
print 'El archivo ' +shx +' existe'
else:
og.write('No existe el archivo ' +shx+"\n")
if os.path.exists(dbf):
print 'El archivo ' +dbf +' existe'
else:
log.write('No existe el archivo ' +dbf+"\n")
if os.path.exists(p):
aRow= [ filepath, filename, x1, x2, y1, y2, geo, cuenta, 1,
prjtext, modificacion, maquina, user]
writer.writerow(aRow)
else:
aRow1= [ filepath, filename, x1, x2, y1, y2, geo, cuenta, 0,
prjtext, modificacion, maquina, user]
writer.writerow(aRow1)
log.close()
f.close()
print "El archivo esta listo"
else:
print "Tus argumentos no son correctos"
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor