C贸mo crear, mover y eliminar archivos en Python

    Introducci贸n

    El manejo de archivos es una habilidad b谩sica y fundamental para cualquier programador. Se utilizan con mucha frecuencia para almacenar datos de aplicaciones, configuraciones de usuario, videos, im谩genes, etc. Hay un sinn煤mero de casos de uso para archivos en aplicaciones de software, por lo que ser铆a inteligente familiarizarse profundamente con las tareas de manipular archivos. Estas tareas podr铆an incluir (entre otras) crear, eliminar y mover archivos.

    En este art铆culo, cubriremos el proceso de trabajar con archivos usando el lenguaje de programaci贸n Python. Los m茅todos integrados que ofrece hacen que sea muy f谩cil manejar archivos usando una cantidad relativamente peque帽a de c贸digo. Al igual que con cualquier cosa en programaci贸n, hay muchas formas de lograr el mismo objetivo cuando se trata de archivos, pero en este art铆culo nos ce帽iremos a los conceptos b谩sicos y mostraremos las formas m谩s comunes de realizar estas acciones.

    Creando archivos en Python

    Modos de apertura de archivos

    Hay modos en los que puede abrir un archivo en Python. El modo que elija depende de c贸mo planea usar el archivo, o qu茅 tipo de datos leer谩 (escribir谩) desde (hacia) el archivo. Este modo se especifica al abrir un archivo con el open() m茅todo, explicado con m谩s detalle en la siguiente secci贸n.

    Echemos un vistazo a algunas de las posibles combinaciones de modos de archivo:

    • w: Abre un archivo para escribir y crea un nuevo archivo si a煤n no existe. En el caso de que el archivo exista, lo sobrescribe.
    • w+: Abre un archivo para escribir, pero tambi茅n para leerlo y crearlo si no existe. Si ya existe un archivo, lo sobrescribe.
    • r: Abre un archivo solo para lectura.
    • rb: Abre un archivo para lectura en formato binario.
    • wb: Abre un archivo para escribir en formato binario.
    • wb+: Abre un archivo para escribir y leer en formato binario.
    • a: Abre un archivo para agregar al final del archivo.
    • +: En general, este car谩cter se utiliza junto r, wo a y significa tanto escritura como lectura.

    Si no se especifica ning煤n modo de archivo, r se asumir谩 por defecto.

    Al elegir un modo, considere cuidadosamente cu谩l es su caso de uso y para qu茅 se utilizar谩 todo el archivo durante el tiempo que est茅 abierto.

    open()

    Como con casi cualquier cosa en Python, realizar muchas tareas relacionadas con archivos es muy simple. Por ejemplo, la creaci贸n de un archivo en Python se puede hacer en una sola l铆nea de c贸digo:

    myFile = open("new.txt", "w+")
    

    En el ejemplo anterior, hemos abierto un archivo, “new.txt” para leer y escribir. En nuestro caso, dado que el archivo no existe, se crea autom谩ticamente.

    los open() El m茅todo acepta muchos argumentos, aunque la mayor铆a de las veces solo usar谩 estos dos:

    • nombre de archivo: campo obligatorio para especificar el nombre del archivo que deseamos abrir / crear. En nuestro ejemplo, “new.txt”
    • mode: argumento opcional para especificar el modo de apertura del archivo, en nuestro ejemplo “w +”

    Puede omitir el segundo argumento, en cuyo caso Python lo asumir谩 como r.

    Los otros argumentos que no se enumeran aqu铆 le permiten configurar el almacenamiento en b煤fer, codificaciones, manejo de nuevas l铆neas, etc. Para obtener m谩s informaci贸n sobre estos argumentos, consulte el documentaci贸n oficial de Python sobre el open m茅todo.

    close()

    Cuando abre un archivo, siempre debe asegurarse de cerrarlo tambi茅n. Esto se puede hacer usando el objeto de archivo close() m茅todo, o abrirlo usando el with palabra clave que proporciona Python, que la cierra autom谩ticamente cuando est谩 fuera de alcance. Despu茅s de cerrar el archivo, ya no estar谩 disponible para leer o escribir dentro de su c贸digo, a menos que lo abra de nuevo.

    Mantener sus archivos abiertos consumir谩 recursos del sistema, ralentizar谩 su programa y, en algunos casos, evitar谩 que otro c贸digo utilice el archivo. La recolecci贸n de basura de Python hace que sea mejor cerrar autom谩ticamente los archivos cuando ya no se usan, pero no debe confiar en ello.

    Si un archivo ya est谩 cerrado, llamar close() en 茅l de nuevo no lo afectar谩 en absoluto:

    myFile.close()
    myFile.close() # Doesn't affect the file
    

    Mover archivos en Python

    Para mover un archivo en Python, necesitaremos importar el os y shutil m贸dulos que nos brindan la capacidad de copiar, mover y eliminar archivos en Python. Ambos m贸dulos proporcionan m茅todos para hacerlo, aunque en muchos casos el shutil El m贸dulo tiene m茅todos m谩s convenientes.

    import os
    import shutil
    
    # Move a file by renaming it's path
    os.rename('/Users/billy/d1/xfile.txt', '/Users/billy/d2/xfile.txt')
    
    # Move a file from the directory d1 to d2
    shutil.move('/Users/billy/d1/xfile.txt', '/Users/billy/d2/xfile.txt')
    

    Tenga en cuenta que el directorio de destino debe existir para que este ejemplo funcione. Una vez que haya configurado los directorios “d1” y “d2” (o simplemente haya cambiado el ejemplo para que se ajuste a la estructura de su directorio), ejecute el c贸digo. Ahora revise el directorio “d2” y deber铆a ver el xfile.txt si ahora est谩 presente en ese directorio.

    Bastante simple, 驴verdad?

    Eliminar archivos en Python

    Como probablemente adivin贸, es bastante f谩cil eliminar un archivo en Python usando el remove() m茅todo del os m贸dulo.

    En nuestro ejemplo a continuaci贸n, eliminaremos “xfile.txt”. Todo lo que tenemos que hacer es llamar al remove() m茅todo con la ruta del archivo que queremos eliminar:

    import os
    
    # Delete xfile.txt
    os.remove('/Users/billy/d2/xfile.txt')
    

    Ahora revise el directorio “d2” nuevamente y el archivo xfile.txt estar谩 listo. 隆Simple como eso!

    Conclusi贸n

    En este art铆culo, mostramos ejemplos muy simples de c贸mo crear, mover y eliminar archivos en Python usando las funciones integradas como open(), shutil.move()y os.remove(). Adem谩s, presentamos una sencilla introducci贸n y explicaci贸n de los modos de archivo de Python.

     

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *