Mostrando entradas con la etiqueta Archivos planos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Archivos planos. Mostrar todas las entradas

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()