Python proporciona funcions integrades per crear, escriure i llegir fitxers. A Python es poden gestionar dos tipus de fitxers, fitxers de text normals i fitxers binaris (escrits en llenguatge binari, 0 i 1).
- Fitxers de text: En aquest tipus de fitxer, cada línia de text acaba amb un caràcter especial anomenat EOL (Fi de línia) , el caràcter de línia nova (‘ ’) a Python per defecte. En el cas de CSV (Fitxers separats per comes, l'EOF és una coma per defecte.
- Fitxers binaris: En aquest tipus de fitxers, no hi ha cap terminador per a una línia i les dades s'emmagatzemen després de convertir-les en un llenguatge binari comprensible per la màquina, és a dir, en format 0 i 1.
Consulteu els articles següents per fer-vos una idea sobre els conceptes bàsics del maneig de fitxers.
Exemple :
gfg.txt
Hello! This is techcodeview.com>
En aquest exemple, estem utilitzant la funció open() per llegir un fitxer anomenat gfg.txt i imprimeix el seu contingut al terminal.
Python 3
file1 = open('gfg.txt') # Reading from file print(file1.read()) file1.close()> Sortida :
Hello! This is techcodeview.com>
Obrint un fitxer en Python
Obrir un fitxer es refereix a preparar-lo per llegir o escriure. Això es pot fer utilitzant el obert() funció. Aquesta funció retorna un objecte fitxer i pren dos arguments, un que accepta el nom del fitxer i un altre que accepta el mode (mode d'accés).
Sintaxi de la funció open().
File_object = obert (Nom_Fitxer, Mode_Accés)
Paràmetres :
File_Name>: Aquest és el nom del fitxer que voleu obrir.Access_Mode>: Especifica el mode en què s'obrirà el fitxer.
Nota: El fitxer hauria d'existir al mateix directori que l'script de Python, en cas contrari s'hauria d'escriure l'adreça completa del fitxer. Si el fitxer no existeix, es genera un error, que el fitxer no existeix.
el meu fitxer.txt
Welcome to techcodeview.com!!>
A l'exemple següent, estem utilitzant la funció open() per obrir un fitxer en Python. Aquí, hem creat un objecte de fitxer anomenat file1 que utilitzarem en altres exemples per llegir i escriure dins d'aquest fitxer.
Python 3 file1 = open('myfile.txt')> Modes d'accés de la funció open() a Python
Modes de fitxer regula el tipus d'operacions possibles en el fitxer obert. Es refereix a com s'utilitzarà el fitxer un cop s'hagi obert. Aquests modes també defineixen la ubicació del Control de fitxers a l'arxiu. El maneig del fitxer és com un cursor, que defineix on s'han de llegir o escriure les dades al fitxer. Hi ha 6 modes d'accés Python .
Mode | Descripció |
|---|---|
| 'r' | Obre el fitxer de text per llegir-lo. Genera un error d'E/S si el fitxer no existeix. |
| 'r+' | Obriu el fitxer per llegir i escriure. Genera un error d'E/S si el fitxer no existeix. |
| 'En' | Obriu el fitxer per escriure. Trunca el fitxer si ja existeix. Crea un fitxer nou si no existeix. |
| 'w+' | Obriu el fitxer per llegir i escriure. Trunca el fitxer si ja existeix. Crea un fitxer nou si no existeix. |
| 'a' | Obriu el fitxer per escriure. Les dades que s'escriuen s'inseriran al final del fitxer. Crea un fitxer nou si no existeix. |
| 'a+' | Obriu el fitxer per llegir i escriure. Les dades que s'escriuen s'inseriran al final del fitxer. Crea un fitxer nou si no existeix. |
| 'rb' | Obriu el fitxer per llegir-lo en format binari. Genera un error d'E/S si el fitxer no existeix. |
| 'rb+' | Obriu el fitxer per llegir i escriure en format binari. Genera un error d'E/S si el fitxer no existeix. |
| 'wb' | Obriu el fitxer per escriure en format binari. Trunca el fitxer si ja existeix. Crea un fitxer nou si no existeix. |
| 'wb+' | Obriu el fitxer per llegir i escriure en format binari. Trunca el fitxer si ja existeix. Crea un fitxer nou si no existeix. |
| 'ab' | Obriu el fitxer per afegir-lo en format binari. Insereix dades al final del fitxer. Crea un fitxer nou si no existeix. |
| 'ab+' | Obriu el fitxer per llegir-lo i afegir-lo en format binari. Insereix dades al final del fitxer. Crea un fitxer nou si no existeix. |
Obrir un fitxer en mode de lectura a Python
En aquest exemple, estem llegint dades d'un fitxer Txt. Hem utilitzat read() per llegir les dades.
Python 3 file1 = open('myfile.txt') # Reading from file print(file1.read()) file1.close()> Sortida:
Welcome to GeeksForGeeks!!>
Nota: A l'exemple anterior, no hem proporcionat el mode d'accés. Per defecte, la funció open() obrirà el fitxer en mode de lectura, si no es proporciona cap paràmetre.
Escriptura en un fitxer existent en Python
Si voleu afegir més dades a un fitxer ja creat, el mode d'accés hauria de ser 'a', que és adjuntar mode, si seleccionem el mode 'w' aleshores el text existent es sobreescriurà per les dades noves.
Python 3 file1 = open('myfile.txt', 'a') # Writing to file file1.write('
Writing to file:)') # Closing file file1.close()> Sortida:
Welcome to techcodeview.com!! Writing to file :)>
Obrir un fitxer amb mode d'escriptura a Python
En aquest exemple, estem utilitzant 'w+' que va eliminar el contingut del fitxer, escriu algunes dades i mou el fitxer dossier punter al principi.
Python 3 # Open a file for writing and reading file = open('test.txt', 'w+') # Write some data to the file file.write('Hello, world!') # Move the file pointer back to the beginning of the file file.seek(0) # Read the data from the file data = file.read() # Print the data to the console print(data) # Close the file when you're done file.close()> Sortida:
prova.txt
com tancar el mode de desenvolupador
Hello, world!>
Llegir línia per línia utilitzant la funció readline() i open().
El mètode readline() a Python s'utilitza per llegir una única línia d'un fitxer que s'ha obert per llegir. Quan s'utilitza readline() al codi, llegeix la línia següent del fitxer i la retorna com a cadena.
prova.txt
Welcome to techcodeview.com1 Welcome to techcodeview.com2 Welcome to techcodeview.com3 Welcome to techcodeview.com4 Welcome to techcodeview.com5 Welcome to techcodeview.com6-100 Welcome to techcodeview.com7 Welcome to techcodeview.com8 Welcome to techcodeview.com9 Welcome to techcodeview.com10>
En aquest exemple, estem llegint dades línia per línia d'un fitxer anomenat prova.t xt i imprimir-lo al terminal.
Python 3 # Open a file for reading file = open('test.txt', 'r') # Read the first line of the file line = file.readline() # Loop through the rest of the file and print each line while line: print(line) line = file.readline() # Close the file when you're done file.close()> Sortida:
Welcome to techcodeview.com1 Welcome to techcodeview.com2 Welcome to techcodeview.com3 Welcome to techcodeview.com4 Welcome to techcodeview.com5 Welcome to techcodeview.com6-100 Welcome to techcodeview.com7 Welcome to techcodeview.com8 Welcome to techcodeview.com9 Welcome to techcodeview.com10>
Obrint un fitxer Python amb...open()
També podem utilitzar la funció open() i amb la paraula clau per obrir un fitxer en Python.
exemple.txt
Hello techcodeview.com!!>
En aquest exemple, hem utilitzat open() i with per obrir un fitxer i imprimir-ne el contingut.
Python 3 # Open a file in read mode file_path = 'example.txt' with open(file_path, 'r') as file: data = file.read() print(data)>
Sortida :
Hello techcodeview.com!!>