Python proporciona funciones integradas para crear, escribir y leer archivos. Se pueden manejar dos tipos de archivos 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 archivo, no hay terminador para una línea y los datos se almacenan después de convertirlos a un lenguaje binario comprensible por máquina.
Este artículo se centrará en abrir, cerrar, leer y escribir datos en un archivo de texto. Aquí también veremos cómo conseguir Pitón Salida en archivo de texto.
Modos de acceso a archivos
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 Mango de archivo en el archivo. El identificador del archivo es como un cursor, que define desde dónde se deben leer o escribir los datos en el archivo y podemos obtener la salida de Python en un archivo de texto.
Hay 6 modos de acceso en Python:
- Sólo lectura ('r')
- Leer y escribir ('r+')
- Sólo escribir ('w')
- Escribir y leer ('w+')
- Agregar solo ('a')
- Agregar y leer ('a+')
Sólo lectura ('r'): Abra el archivo de texto para leer. El mango se coloca al principio de la lima. Si el archivo no existe, genera el error de E/S. Este es también el modo predeterminado en el que se abre un archivo.
Leer y escribir ('r+'): Abra 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.
Sólo escribir ('w'): Abra el archivo para escribir. Para los archivos existentes, los datos se truncan y se sobrescriben. El mango se coloca al principio de la lima. Crea el archivo si el archivo no existe.
Escribir y leer ('w+') : abre el archivo para leer y escribir. Para un archivo existente, los datos se truncan y se sobrescriben. El mango se coloca al principio de la lima.
Agregar solo ('a') : abre el archivo para 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.
Agregar y leer ('a+'): Abra 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.
¿Cómo se cargan los archivos en la memoria primaria?
Hay dos tipos de memoria en una computadora, es decir, memoria primaria y secundaria. Cada archivo que guardó o que alguien guardó está en la memoria secundaria porque cualquier dato en la memoria primaria se elimina cuando se apaga la computadora. Entonces, cuando necesite cambiar cualquier archivo de texto o simplemente trabajar con él en Python, deberá cargar ese archivo en la memoria principal. Python interactúa con archivos cargados en la memoria primaria o memoria principal a través de manejadores de archivos (Así es como su sistema operativo le da acceso a Python para interactuar con el archivo que abrió buscando el archivo en su memoria, si lo encuentra, devuelve un controlador de archivos y luego puede trabajar con el archivo).
Abrir un archivo de texto en Python
Se hace usando la función open(). No es necesario importar ningún módulo para esta función.
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.
Pitón
np.único
# Open function to open the file 'MyFile1.txt'> # (same directory) in append mode and> file1>=> open>(>'MyFile1.txt'>,>'a'>)> # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r>'D:TextMyFile2.txt'>,>'w+'>)> |
>
>
Aquí, el archivo1 se crea como un objeto para MyFile1 y el archivo2 como objeto para MyFile2.
Cerrar un archivo de texto en Python
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. objeto_archivo.cerrar()
Pitón
# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>(>'MyFile.txt'>,>'a'>)> file1.close()> |
>
verilog siempre
>
Escribir en un archivo en Python
Hay dos formas de escribir en un archivo:
- Usando escribir()
- Usando líneas de escritura()
Escribir en un archivo de texto Python usando write()
escribir() : Inserta la cadena str1 en una sola línea en el archivo de texto.
File_object.write(str1)>
Escribir en un archivo de texto usando writelines()
líneas de escritura(): Para obtener una lista de elementos de cadena, cada cadena se inserta en el archivo de texto. Se utiliza para insertar varias cadenas a la vez.
File_object.writelines(L) for L = [str1, str2, str3]>
Referencia: escribir() VS líneas de escritura()
Leer de un archivo en Python
Hay tres formas de leer datos de un archivo de texto:
- Usando lectura()
- Usando línea de lectura()
- Usando líneas de lectura()
Leer de un archivo usando read()
leer() : 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])>
Leer un archivo de texto usando readline()
línea de lectura() : 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])>
Leer un archivo usando readlines()
líneas de lectura() : 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.
En este ejemplo, se crea un archivo llamado myfile.txt y se abre en modo de escritura ('w'>). Los datos se escriben en el archivo usandowrite>ywritelines>métodos. Luego, el archivo se vuelve a abrir en modo de lectura y adición ('r+'>). Varias operaciones de lectura, incluidasread>,readline>,readlines>, y el uso deseek>, demuestra diferentes formas de recuperar datos del archivo. Finalmente se cierra el expediente.
Python3
convertir int a cadena java
# Program to show various ways to read and> # write data in a file.> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi
'>,>'This is Paris
'>,>'This is London
'>]> #
is placed to indicate EOL (End of Line)> 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>))> 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 ']>
Agregar a un archivo en Python
En este ejemplo, un archivo llamado myfile.txt se abre inicialmente en modo de escritura ('w'>) para escribir líneas de texto. Luego, el archivo se vuelve a abrir en modo agregar ('a'>) y Hoy se agrega al contenido existente. La salida después de agregar se muestra usandoreadlines>. Posteriormente se vuelve a abrir el archivo en modo escritura, sobrescribiendo el contenido con Tomorrow. El resultado final después de escribir se muestra usandoreadlines>.
Python3
# Python program to illustrate> # Append vs write mode> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi
'>,>'This is Paris
'>,>'This is London
'>]> file1.writelines(L)> file1.close()> # Append-adds at last> file1>=> open>(>'myfile.txt'>,>'a'>)>#append mode> file1.write(>'Today
'>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after appending'>)> print>(file1.readlines())> print>()> file1.close()> # Write-Overwrites> file1>=> open>(>'myfile.txt'>,>'w'>)>#write mode> file1.write(>'Tomorrow
'>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after writing'>)> print>(file1.readlines())> print>()> file1.close()> |
>
>
Producción:
Output of Readlines after appending ['This is Delhi ', 'This is Paris ', 'This is London ', 'Today '] Output of Readlines after writing ['Tomorrow ']>
Artículo relacionado:
- Objetos de archivo en Python