InicioLinuxTres formas de comprobar la existencia de un archivo

Tres formas de comprobar la existencia de un archivo

Linux•11/5/2011
Tres formas de comprobar la existencia de un archivo


En esta oportunidad intentare (espero lograrlo) mostrarles tres formas básicas para comprobar la existencia de un archivo, dos de ellas usa el modulo os y la otra usando la función open, aclaro que son formas básicas con las cuales podemos experimentar y jugar un poco pero no son las únicas formas de hacerlos o la forma mas correcta de usarlos, esa parte se las dejare como tarea.
Por cuestiones de no extender demasiado la lectura (me preocupo por ustedes y no los hago leer demasiado xd) voy obviar la explicación de porque nos seria útil saber si un archivo existe o no y vamos a pasar directo a mostrar las tres formas en su funcionamiento y aplicación, vamos a divertirnos un rato con Python.

1º Forma:


archivo = "/usr/bin/firefox" 

def checkfile(archivo): 
    import os.path 
    if os.path.exists(archivo): 
        print "El fichero existe" 
    else: 
        print "El fichero no existe"


Como verán a fines prácticos mientras construimos la función agregue una variable con el archivo a detectar que lo usare en las tres formas, en el nombre de la función recuerden que podemos usar cualquier palabra mientras no usemos ninguna de las palabras reservadas por Python las cuales las podemos encontrar aquí o no sea un nombre legal en Python [ Ver mas aquí ], el argumento que toma la función es simplemente el archivo a verificar, siguiendo tenemos lo mas importante que sin esta linea el resto no puede funcionar, se trata de importar el modulo os.path y usar la función exists para comprobar la existencia del archivo, si el archivo existe la función devuelve True en caso contrario devuelve False y gracias a if podemos analizar dicha salida. El inconveniente de esta forma es que no distingue entre un fichero o una carpeta, por ejemplo si cambiáramos nuestra primer linea por:

archivo = "/usr/bin/"

Seguiría devolviendo True o verdadero, Pasemos a la segunda forma.

2º Forma:


def checkfile2(archivo): 
    import os.path 
    if os.path.isfile(archivo): 
        print "El fichero existe" 
    else: 
        print "El fichero no existe"


En este caso omití la variable "archivo" por lo que les mencione anteriormente (seguimos usando la misma), esta función es muy similar a la anterior, se diferencia de usar la función 'isfile' de os.path lo nos permite saber si se trata de un archivo o no supliendo con el inconveniente con que contábamos con la forma nº 1, si se trata de un archivo nos devolverá True en caso contrario devolverá False, podemos comprobarlo cambiando el valor de la variable 'archivo' por la ruta de un directorio. También podemos saber si se trata de un directorio cambiando la función 'isfile' por 'isdir' quedando así:


directorio = "/usr/bin/" 
def checkfile2(directorio): 
    import os.path 
    if os.path.isdir(directorio): 
        print "El directorio existe" 
    else: 
        print "El directorio no existe"


Esta forma es muy similar si se trata de un directorio devuelve True y si no lo es devuelve False, ahora pasemos a la tercer y ultima forma del día de hoy.

3º Forma:


def checkfile3(archivo): 
    try: 
        fichero = open(archivo) 
        fichero.close() 
        print "El fichero existe" 
    except: 
        print "El fichero no existe"


Esta tercer y ultima forma utiliza las excepciones de Python para intentar abrir el archivo, si el archivo existe se cierra y se muestra en pantalla el texto que colocamos en la sentencia print y si dicho archivo no existe se produce un error y se ejecutara el código que hayamos colocado en except.

Eso fue todo por hoy si les quedo alguna duda pregunten, nos estaremos viendo a la vuelta de cualquier otro tutorial.

Mas información sobre el modulo os.path:


Mas información sobre os.path.exists:


Mas información sobre os.path.isfile


Mas información sobre os.path.isdir


Esto les va a ser de mucha ayuda para entender el uso excepciones y gestión de ficheros:


Podes seguirlo también acá:
http://snipplr.com/view/45002/three-ways-to-test-the-existence-of-a-file
http://codigo_python.codepad.org/UO9d7D3f
Datos archivados del Taringa! original
10puntos
2,814visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
10visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

e
eliluminado🇦🇷
Usuario
Puntos0
Posts5
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.