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