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í .
Tabla de contenidos
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 escritura ('w'): abre el archivo para escribir. Para un archivo existente, 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 escribirlo. 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:
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', 'w')> > # 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 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
recorrido de pedido por correo
# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>('MyFile.txt', 'w')> file1.close()> |
>
>
Escribir en el archivo
Hay dos formas de escribir en un archivo.
- write(): Inserta la cadena str1 en una sola línea en el archivo de texto.
File_object.write(str1)>
- writelines(): 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]>
Nota: ' ' se trata como un carácter especial de dos bytes. Ejemplo:
Python3
# Python program to demonstrate> # writing to file> # Opening a file> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> ['This>is> Delhi
', 'This>is> Paris
', 'This>is> London
']> s>=> 'Hello
'> # Writing a string to file> file1.write(s)> # Writing multiple strings> # at a time> file1.writelines(L)> # Closing file> file1.close()> # Checking if the data is> # written to file or not> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(file1.read())> file1.close()> |
borde usando css
>
>
Producción:
Hello This is Delhi This is Paris This is London>
Agregar a un archivo
Cuando el archivo se abre en modo agregar, el identificador se coloca al final del archivo. Los datos que se están escribiendo se insertarán al final, después de los datos existentes. Veamos el siguiente ejemplo para aclarar la diferencia entre el modo de escritura y el modo de agregar.
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.read())> 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.read())> print>()> file1.close()> |
>
>
Producción:
serie de fibonacci en c
Output of Readlines after appending This is Delhi This is Paris This is London Today Output of Readlines after writing Tomorrow>
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> # write data to a file using with statement> L>=> ['This>is> Delhi
', 'This>is> Paris
', 'This>is> London
']> # Writing to file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello
')> >file1.writelines(L)> # Reading from file> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading form a file> >print>(file1.read())> |
>
>
Producción:
Hello This is Delhi This is Paris This is London>
Nota: Para saber más sobre la declaración, haga clic aquí.
usando para la declaración:
pasos:
inicializador de diccionario c#
Para escribir en un archivo en Python usando una declaración for, puede seguir estos pasos:
Abra el archivo usando la función open() con el modo apropiado ('w' para escribir).
Utilice la instrucción for para recorrer los datos que desea escribir en el archivo.
Utilice el método write() del objeto de archivo para escribir los datos en el archivo.
Cierre el archivo usando el método close() del objeto de archivo.
En este ejemplo, el archivo se abre para escritura usando la instrucción with open('file.txt', 'w') as f. Los datos a escribir se almacenan en una lista llamada datos. La declaración for se utiliza para recorrer cada línea de datos de la lista. La instrucción f.write(line + ' ') escribe cada línea de datos en el archivo con un carácter de nueva línea ( ) al final. Finalmente, el archivo se cierra automáticamente cuando finaliza el bloque with.
Python3
# Open the file for writing> with>open>(>'file.txt'>,>'w'>) as f:> ># Define the data to be written> >data>=> [>'This is the first line'>,>'This is the second line'>,>'This is the third line'>]> ># Use a for loop to write each line of data to the file> >for> line>in> data:> >f.write(line>+> '
'>)> ># Optionally, print the data as it is written to the file> >print>(line)> # The file is automatically closed when the 'with' block ends> |
>
>Producción
This is the first line This is the second line This is the third line>
Acercarse:
El código abre un archivo llamado file.txt en modo de escritura usando un bloque with para garantizar que el archivo se cierre correctamente cuando finalice el bloque. Define una lista de cadenas llamadas datos que representan las líneas que se escribirán en el archivo. Luego, el código usa un bucle for para iterar a través de cada cadena de datos y escribe cada cadena en el archivo usando el método write(). El código agrega un carácter de nueva línea a cada cadena para garantizar que cada cadena se escriba en una nueva línea del archivo. Opcionalmente, el código imprime cada cadena a medida que se escribe en el archivo.
Complejidad del tiempo:
Tanto el código original como el código alternativo tienen una complejidad temporal de O(n), donde n es el número de líneas que se escribirán en el archivo. Esto se debe a que ambos códigos necesitan recorrer cada línea de la lista de datos para escribirla en el archivo.
Complejidad espacial:
El código original y el código alternativo tienen la misma complejidad espacial de O(n), donde n es el número de líneas que se escribirán en el archivo. Esto se debe a que ambos códigos necesitan crear una lista de cadenas que representen las líneas que se escribirán en el archivo.