logo

Cómo leer de un archivo en Python

Python proporciona funciones integradas para crear, escribir y leer archivos. Hay dos tipos de archivos que se pueden manejar en Python, archivos de texto normales y archivos binarios (escritos en lenguaje binario, 0 y 1).

    Archivos de texto: en este tipo de archivo, cada línea de texto termina con un carácter especial llamado EOL (Fin de línea), que es el carácter de nueva línea (' ') en Python de forma predeterminada. Archivos binarios: en este tipo de archivos, no hay terminador para una línea y los datos se almacenan después de convertirlos a un lenguaje binario comprensible por máquina.

Nota: Para saber más sobre el manejo de archivos haga clic aquí .



Modo de acceso

Los modos de acceso rigen el tipo de operaciones posibles en el archivo abierto. Se refiere a cómo se utilizará el archivo una vez abierto. Estos modos también definen la ubicación del identificador de archivo en el archivo. El identificador de archivo es como un cursor, que define desde dónde se deben leer o escribir los datos en el archivo. Los diferentes modos de acceso para leer un archivo son:

    Solo lectura ('r'): abre un archivo de texto para leer. El mango se coloca al principio de la lima. Si el archivo no existe, genera un error de E/S. Este es también el modo predeterminado en el que se abre el archivo. Leer y escribir ('r+'): abre el archivo para leer y escribir. El mango se coloca al principio de la lima. Genera un error de E/S si el archivo no existe. Agregar y leer ('a+'): abre el archivo para leer y escribir. El archivo se crea si no existe. El mango se sitúa al final de la lima. Los datos que se están escribiendo se insertarán al final, después de los datos existentes.

Nota: Para saber más sobre el modo de acceso haga clic aquí .

Abrir un archivo

Se hace usando la función open(). No es necesario importar ningún módulo para esta función.



Sintaxis:

Python genera uuid
File_object = open(r'File_Name', 'Access_Mode')>

El archivo debe existir en el mismo directorio que el archivo del programa Python. De lo contrario, la dirección completa del archivo debe escribirse en lugar del nombre del archivo. Nota: La r se coloca antes del nombre del archivo para evitar que los caracteres de la cadena del nombre del archivo se traten como caracteres especiales. Por ejemplo, si hay emp en la dirección del archivo, entonces se trata como el carácter de tabulación y se genera un error de dirección no válida. La r hace que la cadena sea cruda, es decir, indica que la cadena no tiene caracteres especiales. La r se puede ignorar si el archivo está en el mismo directorio y no se coloca la dirección.

Python3






# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1>=> open>('MyFile.txt', 'r')> > # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r'D:TextMyFile2.txt', 'r>+>')>

>

>

Aquí, el archivo1 se crea como objeto para MyFile1 y el archivo2 como objeto para MyFile2.

Cerrando un archivo

La función close() cierra el archivo y libera el espacio de memoria adquirido por ese archivo. Se utiliza en el momento en que el archivo ya no es necesario o si se va a abrir en un modo de archivo diferente.

Sintaxis:

File_object.close()>

Python3


np donde



# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>('MyFile.txt', 'r')> file1.close()>

>

>

Leyendo de un archivo

Hay tres formas de leer datos de un archivo de texto.

    read(): Devuelve los bytes leídos en forma de cadena. Lee n bytes; si no se especifica n, lee el archivo completo.
File_object.read([n])>
    readline(): Lee una línea del archivo y regresa en forma de cadena. Para n especificado, lee como máximo n bytes. Sin embargo, no lee más de una línea, incluso si n excede la longitud de la línea.
File_object.readline([n])>
    readlines(): Lee todas las líneas y las devuelve como cada línea un elemento de cadena en una lista.
File_object.readlines()>

Nota: ' ' se trata como un carácter especial de dos bytes.

Ejemplo:

Python3




# Program to show various ways to> # read data from a file.> # Creating a file> file1>=> open>('myfile.txt', 'w')> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Writing data to a file> file1.write('Hello ')> file1.writelines(L)> file1.close()># to change file access modes> file1>=> open>('myfile.txt', 'r>+>')> print>('Output of Read function>is> ')> print>(file1.read())> print>()> # seek(n) takes the file handle to the nth> # byte from the beginning.> file1.seek(>0>)> print>('Output of Readline function>is> ')> print>(file1.readline())> print>()> file1.seek(>0>)> # To show difference between read and readline> print>('Output of Read(>9>) function>is> ')> print>(file1.read(>9>))> print>()> file1.seek(>0>)> print>('Output of Readline(>9>) function>is> ')> print>(file1.readline(>9>))> print>()> file1.seek(>0>)> # readlines function> print>('Output of Readlines function>is> ')> print>(file1.readlines())> print>()> file1.close()>

>

>

Producción:

Output of Read function is Hello This is Delhi This is Paris This is London Output of Readline function is Hello Output of Read(9) function is Hello Th Output of Readline(9) function is Hello Output of Readlines function is ['Hello 
', 'This is Delhi 
', 'This is Paris 
', 'This is London 
']>

Con declaración

with La declaración en Python se utiliza en el manejo de excepciones para hacer que el código sea más limpio y mucho más legible. Simplifica la gestión de recursos comunes como flujos de archivos. A diferencia de las implementaciones anteriores, no es necesario llamar a file.close() cuando se usa la declaración with. La declaración with en sí misma garantiza la adquisición y liberación adecuadas de recursos.

Sintaxis:

with open filename as file:>

Python3




# Program to show various ways to> # read data from a file.> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Creating a file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello ')> >file1.writelines(L)> >file1.close()># to change file access modes> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading from a file> >print>(file1.read())>

>

>

Producción:

mecanografiado para cada
Hello This is Delhi This is Paris This is London>

Nota: Para saber más sobre con declaración haga clic aquí .