Python y Ficheros (Parte 1)

Posted on

Ficheros

Python categoriza ficheros como archivos de texto (que es, .txt o .py) o archivos binarios (todo lo demas). Existen dos maneras para abrir ficheros. Puede usar la sentencia “with” o puede crear un objeto de fichero con handle = open(nombre_de_fichero). Para cerrar un fichero a mano, use el método “close()”.

objeto_de_fichero = open(nombre_de_fichero, [modo], [buffer])

objeto_de_fichero.close()

#o

with open(nombre_de_fichero, [modo], [buffer]) as objeto_de_fichero:

#Observe que, la sentencia “with” cierra el fichero, automáticamente.

El argumento “nombre_de_fichero” es un valor de cadena que da el ubicación del archivo. Si quiere un archivo que no este en el archivo de Python, escriba la ruta del archivo. Por ejemplo, para Windows C:\Users\Temp\archivo.txt.

El argumento “modo” determina el modo que el fichero será abierto. Por modo defecto, es el modo de lectura.

El argumento “buffer” determina la politica de buffering. Si el valor es 0, entonces no hay buffer. Si el valor es 1, entonces se realizará el buffering. Si el valor es mayor que 1, entonces el valor es atribuido al tamaño del buffer.

Tabla

Modo Descripción
r Abrir fichero para lectura. El puntero se posiciona al principio del fichero.
w Abrir fichero para escritura. Crea un fichero, si uno no existe, y sobreescibe ficheros que existen. El puntero se posiciona al principio del fichero.
a Abrir fichero para escritura y se creará un fichero, si no existe. El puntero se posiciona al final del fichero.
r+ Abrir fichero para lectura y escritura. El puntero se posiciona al principio del fichero.
w+ Abrir fichero para escritura y lectura. Crea un fichero nuevo, si no existe. Sobreescribe ficheros que existen. El puntero se posiciona al principio del fichero.
a+ Abrir fichero para escritura y lectura. Se creará un fichero, si no existe. El puntero se posiciona al final del fichero.
rb Abrir fichero binario para lectura. El puntero se posiciona al principio del fichero.
rb+ Abrir fichero binario para lectura y escritura. El puntero se posiciona al principio del fichero.
wb Abrir fichero binario para escritura. Crea un fichero, si no existe. Sobreescribe un fichero, si uno existe. El puntero se posiciona al principio del fichero.
wb+ Abrir fichero binario para escritura y lectura. Crea un fichero, si no existe. Sobreescribe un fichero, si uno existe. El puntero se posiciona al principio del fichero.
ab Abrir fichero binario para escritura y se creará un fichero, si no existe. El puntero se posiciona al final del fichero.
ab+ Abrir fichero binario para escritura y lectura. Se creará un fichero, si no existe. El puntero se posiciona al final del fichero.

Métodos

El método write() se permite escribir en un fichero. Sin embargo, puede escribir muchas lineas con el método writelines(). Toma listas como argumentos.

objeto_de_fichero.write(“Esta es la primera linea,\n”)

objeto_de_fichero.writelines([“la segunda linea,\n”, “el tercero,\n”, “y el cuarto.\n”])

#cuando se muestra

Esta es la primera linea,

la segunda linea,

el tercero,

y el cuarto.

El método readline() toma un argumento int y lee esa posición de la linea, mientras readlines() convierte un fichero a una lista.

objeto_de_fichero.readline(2)

“el tercero” #cuando se muestra

objeto_de_fichero.readlines()

#cuando se muestra

[“Esta es la primera linea,\n”, “la segunda linea,\n”, “el tercero,\n”, “y el cuarto.\n”]

Los objetos de ficheros tienen tres atributos principales: closed, name, y mode.

objeto_de_fichero.closed

#Regresa “True”, si el objeto de fichero se cerró, si no regresa “False”.

objeto_de_fichero.name

#Regresa el nombre del archivo.

objeto_de_fichero.mode

#Regresa el modo que el fichero estuve abierto.

 


 

Por más informatica, mirase estos sitios:

http://programacion.net/articulo/escribir_y_leer_ficheros_en_python_1446

http://chuwiki.chuidiang.org/index.php?title=Leer_y_escribir_ficheros_en_python

(íngles) https://www.tutorialspoint.com/python3/python_files_io.htm

Deja un comentario

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