Buenas!
Esta vez os planteo una questión en la que no paro de pensar y creo que de tanto pensar no consigo la solución. Es por eso que recurro a vosotros ;)
l=0
for l in range(-1, 0):
try:
handle=open(var, "r")
red=handle.read()
handleold.close()
l=l+1
asdf()
except IOError:
print("sdfghjkl")
Este script tiene como propósito intentar abrir un archivo y si lo ha podido abrir y leer que vaya a la función asdf() sino que haga un print().
El problema está en que nunca me salta un error puesto que lee todo lo que intenta. Cómo podría ir a la función "asdf()" solo si es cierto que el archivo existe?
Puede ser y seguramente será una solución muy absurda y sencilla, espero que me tenga una respuesta lo más temprano posible :)
Cita de: Arnau27 en 30 Septiembre 2013, 23:41 PM
Cómo podría ir a la función "asdf()" solo si es cierto que el archivo existe?
Puedes usar la libreria os para saber si el archivo existe:
if os.path.isfile(var):
asdf()
Saludos!
try:
archivo = open(MyFile, 'r')
except:
print "Error Open File"
::)
Cita de: Softrix18 en 1 Octubre 2013, 23:47 PM
try: archivo = open(MyFile, 'r')
except: print "Error Open File"
::)
try: archivo = open("archivo", 'r')
except: print "Error Open File"
::)
for l in range(-1, 0):
try:
with open(var, "r") as handle:
red = handle.read()
l += 1
except IOError:
print("sdfghjkl")
else:
asdf()
No sé que uso le das a la variable l pero es confuso que modifiques el contador del bucle...