Métodos File en Python: Creación y manipulación de archivos de texto

Hola amigos de Internet. Mi nombre es Luis y les doy la bienvenida a Mi Diario Python.
En el articulo de hoy veremos los métodos file de Python para crear y manejar archivos de texto.
Sin más preámbulos, comencemos.
Comencemos por lo más básico. Abrir un archivo.
Para ello utilizaremos el objeto open(). El cual podemos utilizar de la siguiente manera.
>>> archivo = open("Nombre del archivo.txt")
Solo llamamos al objeto open() y le pasamos como argumento la ruta del archivo.
También podemos llamar al objeto en contexto.
>>> with open("Nombre del archivo.txt") as f:
...  
El objeto open() toma otro valor como argumento. este valor seria el modo de apertura del archivo.
Los modos de apertura son los siguientes:
  • Modo de sólo lectura (r): Como lo dice el nombre, el modo r abre los archivos para solo leerlos. Por lo que no nos dejara modificarlo.
>>> modo_lectura = open("Nombre del archivo.txt", "r")
  • Modo de sólo escritura (w): El modo w solo nos permitirá escribir en el archivo. De no existir, el archivo se creara.
>>> modo_escritura = open("Nombre del archivo.txt", "w")
  • Modo sólo escritura posicionándose al final del archivo (a): Este modo de apertura, crea el archivo si no existe. Pero en caso de que si exista, el contenido se agregara al final del archivo.
>>> escritura_al_final = open("Nombre del archivo.txt", "a")

Método read()

El método read() devuelve el contenido del archivo.
Veamos un ejemplo. Tengo un archivo llamado La Informática.txt en el cual tengo un pequeño texto sobre la informática.
>>> with open("La Informática.txt", "r") as archivo:
...     print(archivo.read())
...
La Informática nace bajo la idea de ayudar al hombre en aquellos cálculos rutinarios,
 donde frecuentemente existe una repetición de tareas.
Desde cálculos aritméticos (suma, resta, multiplicación, división), hasta el minado y
 procesamiento de grandes cantidades de datos.
Existen diversos conceptos de Informática. Pero nos quedaremos con el siguiente:

Las Ciencias de la Computación o Informática, como se le llama en
algunos países hispanoamericanos, es la disciplina que busca
establecer una base científica para diversos temas, como el diseño de
computadoras, la programación de computadoras, el proceso de
información, la elaboración de algoritmos para resolver problemas y el
proceso algorítmico en sí.
Al método read() podemos agregarle un argumento. El número de caracteres que queremos leer. Como pueden ver el contenido es algo largo. Supongamos que queremos leer solo los primeros 100 caracteres del archivo (incluyendo espacios):
>>> with open("La Informática.txt", "r") as archivo:
...     print(archivo.read(100))
...
La Informática nace bajo la idea de ayudar al hombre en aquellos cálculos rutinarios,
 donde frecuent

Método readline()

El método readline() realiza la lectura una linea a la vez.
Veamos un ejemplo:
>>> with open("La Informática.txt", "r") as archivo:
...     print(archivo.readline())
...     print(archivo.readline())
...     print(archivo.readline())
...
La Informática nace bajo la idea de ayudar al hombre en aquellos cálculos rutinarios,
 donde frecuentemente existe una repetición de tareas.

Desde cálculos aritméticos (suma, resta, multiplicación, división), hasta el minado y
 procesamiento de grandes cantidades de datos.

Existen diversos conceptos de Informática. Pero nos quedaremos con el siguiente:
Como pueden observar, cada vez que llamaos al método, me devuelve una linea del archivo.

Métodos readlines()

El método readlines() devuelve una lista con todas las lineas del archivo. Veamos un ejemplo:
>>> with open("La Informática.txt", "r") as archivo:
...     print(archivo.readlines())
...
['La Informática nace bajo la idea de ayudar al hombre en aquellos cálculos rutinario
s, donde frecuentemente existe una repetición de tareas. n', 'Desde cálculos aritmét
icos (suma, resta, multiplicación, división), hasta el minado y procesamiento de gran
des cantidades de datos.n', 'Existen diversos conceptos de Informática. Pero nos que
daremos con el siguiente:n', 'n', 'Las Ciencias de la Computación o Informática, co
mo se le llama enn', 'algunos países hispanoamericanos, es la disciplina que buscan
', 'establecer una base científica para diversos temas, como el diseño den', 'comput
adoras, la programación de computadoras, el proceso den', 'información, la elaboraci
ón de algoritmos para resolver problemas y eln', 'proceso algorítmico en sí.']
Como pueden observar, las lineas se separan con n, lo que significa un salto de linea.
Muy bien, ya sabemos leer. Es hora de aprender a escribir.

Método write()

El método write() (como habrás adivinado) nos permite escribir en un archivo.
Veamos un ejemplo:
>>> with open("Mi Diario Python.txt", "w") as archivo:
...     archivo.write("Mi Diario Python, el mejor blog sobre programación con Python.")
...
62
El archivo Mi Diario Python.txt se creara automáticamente con el texto que he escrito en el.

Método writelines([lines])

El método writelines() hace lo contrario de readlines(). En vez de esperar una lista de lineas. Nosotros creamos esa lista con lineas para luego escribirlas en el archivo.
Veamos un ejemplo:
>>> caracteristicas = ["-Ejercicios de Porgramación", "-Tutoriales", "-Libros", "-Videos", "-Y mucho más"]
>>> with open("Mi Diario Python.txt", "w") as archivo:
...     archivo.writelines(caracteristicas)
...
Ahora te invito a probar tus conocimientos y leer estos archivos creados desde el interprete de Python.
¿Alguna duda? ¿Alguna sugerencia? Déjanos tu comentario y con mucho gusto te responderemos.
Sin más nada que decir. Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.
  1. Androidrh dice:

    Como siempre excelente explicación

  2. Anónimo dice:

    Excelente el tema. Mi consulta... tendremos la posibilidad de ver alguna referencia sobre la seguridad de 2fa para python?

  3. klassischen Spielhalle dice:

    ¿Hay alguna manera de analizar el texto usando Python desde varios recursos?

  4. Unknown dice:

    Hola tengo problemas para resolver estos ejercicios... Si alguien me podría orientar seria de gran ayuda.

    """
    1) valor 7 puntos
    Elabore un sistema que permita la inscripcion de 10 alummnos en una academia de musica, a continuacion las especificaciones:

    Los datos del alumno son:
    - Nombre
    - Genero musical de preferencia (ejemplo rock, cumbia, salsa, reggaeton, jazz, electronica)
    - intrumento que desee aprender
    - Edad
    - Grupo (dependiendo de la edad, al inscribir los alumnos se le asignara el grupo automaticamente)

    los alumnnos entre 8 y 12 a�os, estaran en el grupo Junior y pagaran 2000 pesos mensuales
    los alumnos entre 13 y los 17 estaran en el grupo Juvenil y pagaran 3000 pesos mensuales
    los alumnos mayores a 18 estaran en el grupo master y pagaran 5000 pesos mensuales

    la forma de pago es unicamente electronica, el sistema debera preguntar si la tarjeta es visa, master y/o american express
    debera mostrar el monto a pagar (dependiendo del grupo donde este el alumno)
    los que paguen con visa recibiran un descuento del 30% y se le mostrara el total a pagar, ejemplo :

    ***********************************
    * Mensaulidad: 3000 *
    * Porcentaje de descuento : 30% *
    * Deduccion: 900 *
    * Total a pagar: 2100 *
    ***********************************
    el cliente debera aceptar los datos y mostrar un mensaje que diga pago realizado.
    y un mensaje si desea ingresar nuevos alumnos, si es no se interumpe el sistema sy se sale del programa

    los datos de los alumnos deberan ser guardados en un archivo de texto diferente:

    los junior en junior.txt
    los juveniles en jveniles.txt
    y los master en master.txt
    """

    """
    2) valor 3 puntos
    Realice un programa que permita generar 5 excepciones diferentes y puedan ser controlarlas enviando mensajes por la salida estandar.
    algunas excepciones
    https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion9/exceptions.html

    """

Deja una respuesta

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

Subir
White Monkey