Función de abrir archivo con Try & Except Python 2.7.1

def FileCheck(fn): try: fn=open("TestFile.txt","U") except IOError: print "Error: File does not appear to exist." return 0 

Estoy tratando de hacer una función que verifique si existe un archivo y si no, debería imprimir el mensaje de error y devolver 0. ¿Por qué no funciona esto?

Deberá sangrar el retorno 0 si desea regresar desde dentro del bloque de excepción. Además, su argumento no está haciendo mucho de nada. En lugar de asignarle el identificador de archivo, ¿asumo que desea que esta función pueda probar cualquier archivo? Si no, no necesitas ningún argumento.

 def FileCheck(fn): try: open(fn, "r") return 1 except IOError: print "Error: File does not appear to exist." return 0 result = FileCheck("testfile") print result 

Esto es probable porque desea abrir el archivo en modo de lectura. Reemplace la “U” con “r”.

Por supuesto, también puede usar os.path.isfile('filepath') .

Creo que os.path.isfile() es mejor si solo quiere “verificar” si existe un archivo, ya que no es necesario que realmente abra el archivo. De todos modos, después de abrirlo, se considera una buena práctica cerrar el archivo y los ejemplos anteriores no incluyen esto.