sábado, 13 de octubre de 2018

Manejo de archivos planos en Python 3.7

Para el manejo de archivos planos en Python 3 lo haremos con las siguientes palabras reservadas:
En primer lugar se debe hacer referencia al módulo estandard de Python IO y al evento open
Eso lo podemos hacer de la siguiente manera con:
from io import open
open: asigna un archivo externo a una variable interna, así podremos manejar al archivo desde un programa, lleva dos argumentos de la siguiente forma:
variable=open(“nombre_archivo.extensión”, modo)
modo: hace referencia al manejo que daremos al archivo como lectura, escritura o lectura/escritura,
    1. “w” = escritura (este argumento crea un archivo desde 0 o sobre escribe uno existente)
        a) utilizamos el método “write(cadena)” para escribir una cadena
        b) utilizando el método “writelines(lista)” para agregar a una lista
    2. “a”    = escritura (este argumento crea un archivo si no existe y agrega si existe)
        a) utilizamos el método “write(cadena)” para escribir una cadena
        b) utilizando el método “writelines(lista)” para agregar una linea
    3. “r” = lectura (abrimos el archivo en modo de lectura)
        a) utilizando el método read(bytes) para leer el archivo
        b) utilizando el método readline() lee la linea actual del archivo y lo cargar en una variable
        c) utilizando el método readlines() se carga el contenido del archivo en una lista
    4. “r+” = lectura escritura (se combinan ambas operaciones), esta opció0n no genera archivo nuevo pero puede sobre escribir de acuerdo a la posición del puntero
Existen algunas funciones más que pueden ayudar en el manejo de archivos
    A) archivo.seek(a, n byte) a= posición de inicio, n byte = caracteres = posición donde situar el puntero
    B) archivo.read(a, n byte) a= posición de inicio, n byte = caracteres = posición hasta la cual se leerá el contenido del archivo
    C) archivo.tell() posición en bytes (caracteres) actual del puntero
=======================================================================
from io import open
from os import system
import datetime
system("clear")
def cabeza():
    k1 = """
 ╔══════════════════════════════════════╗
 ║       Manejo de Archivos 8         ║
 ╠═════════════╦════════════════════════╣
 ║ Autor:      ║ ROHC                   ║
 ║ Lenguaje:   ║ Python 3               ║
 ║ Ejercicio:  ║ Manejo Archivo         ║
 ║ Usando:     ║ 'r+' y 'readline()'    ║"""
    k2 = " ║ Fecha:      ║ "+str(datetime.date.today())+"             ║"
    k3 = " ╚═════════════╩════════════════════════╝"
    print (f"{k1}")
    print (f"{k2}")
    print (f"{k3}")
#============================================
cabeza()
print ("El argumento 'r+', pone al archivo en modo de lectura")
k4 = open("dato3.rohc","r+")
print("El método 'readline()' carga el contenido de un archivo en una lista")
k5 = k4.readlines()
print ("Cantidad de elementos de la lista; ",len(k5))
for i in range (len(k5)):
    k4.seek(0)
    if i == 2:
        k6= input ("Ingresar valor: ")
        k5.insert(i,k6+"\n")
k4.writelines(k5)
print ("=====================================")
print ("Posición del puntero: ",k4.tell())
k4.close()
k4=open("dato3.rohc","r")
print (k4.readlines())
k4.seek(0)
print ("Lectura hasta el cadacter 40:")
print (k4.read(30))
k4.close()

No hay comentarios:

Publicar un comentario