problema con condicional

Eduardo Matus ematus en gmail.com
Sab Dic 27 19:49:22 CET 2008


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


2008/12/27 Pablo Rodríguez <oinos en web.de>

> Daniel Garcia Moreno wrote:
>
>> [...]
>>>>
>>>> if os.path.exists(self.slidefile):
>>>>        os.remove(self.slidefile)
>>>>
>>> Esto no funciona, porque cuando evalúa os.remove, da error porque lo que
>>> tendría que borrar no existe.
>>>
>>
>> si os.path.exists(self.slidefile) devuelve True es que el fichero
>> existe, por lo tanto os.remove no te puede decir que no existe, puede
>> fallar por permisos o por otra razón.
>>
>
> Gracias, Daniel, por ignorancia me he expresado mal.
>
> Si el fichero existe, ambas expresiones funcionan correctamente.
>
> Pero si no existe, la primera funciona devolviendo False y la segunda da un
> error porque el fichero no existe (y el error es plenamente válido).
>
> En realidad, para evitar que eso, si es que no estoy muy perdido, habría
> que hacer:
>
>  if os.path.exists(self.slidefile):
>    try:
>      os.remove(self.slidefile)
>    except IError:
>      pass
>    print "Deleting " + self.slidefile
>
> Esto, que para mi poca sensibilidad programadora se antoja demasiado
> compliado, para que borre un fichero si existe y que diga que lo está
> borrando (si y sólo si existe).
>
> Gracias por la ayuda,
>
>
> Pablo
>
> _______________________________________________
> 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
_______________________________________________
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