PYTHON - OBJETOS DE ARCHIVO

Puedes ver todo el contenido de este vídeo GRATIS, simplemente registrandote

En esta sesión demostramos el uso de objetos de archivo para leer y escribir archivos de texto plano en Python.

Cargando video...

NOTA: ¡Este curso se encuentra disponible, completo y 100% gratis para ti!. Solo es necesario registrarse para poder disfrutarlo sin coste.

Descripción del Vídeo

Python incorpora, en su librería estándar, clases para manejo de archivos. En el caso de archivos de texto plano, la clase más utilizada es TextIOWrapper (del módulo io). Pero casi siempre la utilizamos de manera implícita, sencillamente al abrir un archivo con la función open.
Podemos especificar el modo de apertura (leer, escribir, agregar, etc).

El método read de un objeto archivo lee todo su contenido.

También podemos leer el contenido de un archivo de texto plano con un ciclo, una línea a la vez. En Python, es muy común usar un ciclo for dentro de una cláusula with usada para abrir el archivo.

El método write de un objeto archivo nos permite escribir en él.

Finalmente, usamos el método close para cerrar el archivo.
Código disponible en:
https://github.com/networkfaculty/Fundamentos-Python/blob/master/11-ejemplo-archivos.py

#!/usr/bin/env python

"""
Ejemplos de manejo de archivos de texto plano
"""

def mostrar_archivo_numerado(nombrearchivo):
    '''Lee y muestra por pantalla un archivo de texto plano, numerando sus líneas'''

    # Abrir archivo para lectura (modo predeterminado)
    with open(nombrearchivo) as archivo:
        num = 0
        for linea in archivo:
            num += 1
            # Damos formato comenzando con el número de línea (3 dígitos), eliminando los
            # espacios al final (esto incluye eliminar el \n del fin de cada línea)
            print('{:03d}: {:<80s}'.format( num, linea.rstrip() ) )

    # Cerrar archivo al finalizar
    archivo.close()

import sys

archivo_lectura = sys.argv[0] if len(sys.argv) == 1 else sys.argv[1]

mostrar_archivo_numerado(archivo_lectura)

def agregar_en_archivo(nombrearchivo, texto):
    '''
    Abre un archivo de texto plano y agrega texto al final del mismo, incluyendo
    la fecha y hora en que se agrega
    '''

    from time import strftime
    # Abrir archivo para agregar
    archivo = open(nombrearchivo, 'a')
    # Escribir texto en el archivo, incluyendo fecha y hora, con salto de línea al final
    archivo.write( strftime('[%Y-%m-%d %H:%M:%S] ') + str(texto) + "\n" )
    # Cerrar archivo al finalizar
    archivo.close()

archivo_escritura = 'ejemplo.txt'
agregar_en_archivo(archivo_escritura, '*'*40)
texto = input('Introduzca texto para agregar en el archivo ' + archivo_escritura + ':')
agregar_en_archivo(archivo_escritura, texto)
mostrar_archivo_numerado(archivo_escritura)

Rating

Global

Ver video en playlist

comments powered by Disqus

Headshot of Juan Paredes

Juan Paredes

Ingeniero de Sistemas con amplia experiencia, especializado en el desarrollo y arquitectura de software.