[pyar] Un print comentado me cambia el flujo del programa

Fernando el.zoona en gmail.com
Lun Jul 11 12:37:31 ART 2011


Buenas, quiero consultar una cosita que no me cierra ni por
casualidad. No entiendo por que pasa lo siguiente: pongamos que llamo
mal al programa, usando -h aaaa, en ese caso el script me devuelve el
"tryif". Ahora, si yo descomento la linea "print (opts[1])" el script
pasa el try y va derecho al ultimo except. La cosa esta me paso
mientras trataba de agarrar que si se mandaba un argumento sin opcion
diera error (cosa que no hacia), pero sinceramente no entiendo por que
una linea con un print cambia el flujo.

import sys
import getopt

def usage():
       print ("lalala")

def main(argv):
       try:
               opts, args = getopt.getopt(argv, "hd:", ["h", "directory:"])
               if ((args) and (opts !='-h')):
                       #print (opts[1])
                       print ("tryif")
       except getopt.GetoptError:
               usage()
               sys.exit(2)
       except :
               print ("errorrrrrrrrrrrr")

if __name__=='__main__':
       main(sys.argv[1:])

Con el print descomentado:
[elzoona@ Desktop]$ python raro.py -h aaaa
errorrrrrrrrrrrr
Con el print comentado:
[elzoona@ Desktop]$ python raro.py -h aaaa
tryif

Python version: Python 3.2 (r32:88445, Apr 15 2011, 11:20:08)

Gracias y saludos!



More information about the pyar mailing list