problema con condicional

Eduardo Matus ematus en gmail.com
Sab Dic 27 21:41:00 CET 2008


sobre el try - except, acostumbrate a usarlos, son la mejor forma de manejar
este tipo de cosas..
es como por ejemplo

def div(num):
    if num != 0:
        return 1/num
    else:
        return 0

es feo, poco elegante y confuso sobre todo cuando tienes codigo mas
complejo..

pero si lo siguiente, es mucho mas simpe y abarca otros problemas que
pudiera ocurrir...
def div(num):
    try:
      return 1/num
    except ValueError:
      return 0


2008/12/27 Eduardo Matus <ematus en gmail.com>

> no funciona porque es
>
> try:
>     os.remove(self.slidefile)
>    print "borando"
> except IOError:
>     pass
>
>
>
> 2008/12/27 Pablo Rodríguez <oinos en web.de>
>
> Eduardo Matus wrote:
>>
>>> esta linea es redundante:.... if os.path.exists(self.slidefile):
>>>
>>> con esto basta...
>>>   try:
>>>     os.remove(self.slidefile)
>>>     print "Deleting " + self.slidefile
>>>   except IError:
>>>     pass
>>>
>>
>> Gracias por la respuesta, pero eso lo intenté y me daba un error, por el
>> siguiente caso: si el fichero no existe, trata de borrarlo (y no lo
>> consigue) e intenta imprimir (y lo consigue).
>>
>> Eso precisamente es lo que tengo que evitar. De ahí la solución de abajo.
>>
>> Lo que a mí no me parece tan lógico, pero será falta de experiencia, es
>> que tenga que envolver "os.remove(self.slidefile)" con "try" para evitar que
>> Python evalúe la expresión y dé un error.
>>
>> Gracias de nuevo,
>>
>>
>> Pablo
>>
>>
>>  2008/12/27 Pablo Rodríguez
>>>
>>>> [...]
>>>>  if os.path.exists(self.slidefile):
>>>>   try:
>>>>     os.remove(self.slidefile)
>>>>   except IError:
>>>>     pass
>>>>   print "Deleting " + self.slidefile
>>>>
>>> _______________________________________________
>> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es
>> FAQ: http://listas.aditel.org/faqpyes
>>
>
>
>
> --
> _______________________________________
> Eduardo Andrés Matus Coquelet
> Ingeniero Civil Informatico y Telecomunicaciones - U. Diego Portales
> Santiago, Chile.
> _______________________________________
>
> Celular: (07) 77113825
>



-- 
_______________________________________
Eduardo Andrés Matus Coquelet
Ingeniero Civil Informatico y Telecomunicaciones - U. Diego Portales
Santiago, Chile.
_______________________________________

Celular: (07) 77113825
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es