logo

Écrire dans un fichier en Python

Python fournit des fonctions intégrées pour créer, écrire et lire des fichiers. Il existe deux types de fichiers pouvant être gérés en python, les fichiers texte normaux et les fichiers binaires (écrits en langage binaire, 0 et 1).

    Fichiers texte : Dans ce type de fichier, chaque ligne de texte se termine par un caractère spécial appelé EOL (End of Line), qui est le caractère de nouvelle ligne («   ») en python par défaut. Fichiers binaires : dans ce type de fichier, il n'y a pas de terminateur de ligne et les données sont stockées après conversion en langage binaire compréhensible par machine.

Note: Pour en savoir plus sur la gestion des fichiers Cliquez ici .

Table des matières



Mode d'accès

Les modes d'accès régissent le type d'opérations possibles dans le fichier ouvert. Il fait référence à la manière dont le fichier sera utilisé une fois ouvert. Ces modes définissent également l'emplacement du handle de fichier dans le fichier. Le descripteur de fichier est comme un curseur, qui définit l'endroit à partir duquel les données doivent être lues ou écrites dans le fichier. Les différents modes d’accès pour lire un fichier sont –

    Write Only (« w ») : ouvre le fichier en écriture. Pour un fichier existant, les données sont tronquées et écrasées. La poignée est positionnée au début du fichier. Crée le fichier si le fichier n'existe pas. Write and Read (« w+ ») : ouvrez le fichier en lecture et en écriture. Pour un fichier existant, les données sont tronquées et écrasées. La poignée est positionnée au début du fichier. Ajouter uniquement (« a ») : ouvrez le fichier en écriture. Le fichier est créé s'il n'existe pas. La poignée est positionnée en fin de dossier. Les données en cours d'écriture seront insérées à la fin, après les données existantes.

Note: Pour en savoir plus sur le mode d'accès Cliquez ici .

instruction de cas java

Ouvrir un fichier

Cela se fait en utilisant la fonction open(). Aucun module ne doit être importé pour cette fonction. Syntaxe:

File_object = open(r'File_Name', 'Access_Mode')>

Le fichier doit exister dans le même répertoire que le fichier du programme Python, sinon l'adresse complète du fichier doit être écrite à la place du nom de fichier. Note: Le r est placé avant le nom de fichier pour éviter que les caractères de la chaîne du nom de fichier ne soient traités comme des caractères spéciaux. Par exemple, s'il y a emp dans l'adresse du fichier, alors est traité comme le caractère de tabulation et une erreur d'adresse non valide est générée. Le r rend la chaîne brute, c'est-à-dire qu'il indique que la chaîne ne contient aucun caractère spécial. Le r peut être ignoré si le fichier se trouve dans le même répertoire et que l'adresse n'est pas placée.

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>+>')>

>

>

Ici, file1 est créé en tant qu'objet pour MyFile1 et file2 en tant qu'objet pour MyFile2.

Fermer un fichier

La fonction close() ferme le fichier et libère l'espace mémoire acquis par ce fichier. Il est utilisé lorsque le fichier n'est plus nécessaire ou s'il doit être ouvert dans un mode de fichier différent. Syntaxe:

File_object.close()>

Python3


0,06 en fraction



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

>

>

Écrire dans un fichier

Il existe deux manières d'écrire dans un fichier.

    write() : Insère la chaîne str1 sur une seule ligne dans le fichier texte.
File_object.write(str1)>
    writelines() : Pour une liste d'éléments de chaîne, chaque chaîne est insérée dans le fichier texte. Utilisé pour insérer plusieurs chaînes à la fois.
File_object.writelines(L) for L = [str1, str2, str3]>

Note: ' ' est traité comme un caractère spécial de deux octets. Exemple:

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()>

>

>

Sortir:

Hello This is Delhi This is Paris This is London>

Ajout à un fichier

Lorsque le fichier est ouvert en mode ajout, la poignée est positionnée à la fin du fichier. Les données en cours d'écriture seront insérées à la fin, après les données existantes. Voyons l'exemple ci-dessous pour clarifier la différence entre le mode écriture et le mode ajout.

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()>

>

exemple java bonjour le monde

>

Sortir:

Output of Readlines after appending This is Delhi This is Paris This is London Today Output of Readlines after writing Tomorrow>

Avec déclaration

L'instruction with en Python est utilisée dans la gestion des exceptions pour rendre le code plus propre et beaucoup plus lisible. Il simplifie la gestion des ressources communes telles que les flux de fichiers. Contrairement aux implémentations ci-dessus, il n'est pas nécessaire d'appeler file.close() lors de l'utilisation de l'instruction with. L'instruction with elle-même garantit l'acquisition et la libération appropriées des ressources. Syntaxe:

with open filename as file:>

Python3




fractionnement de chaînes c++

# 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())>

>

>

Sortir:

Hello This is Delhi This is Paris This is London>

Remarque : Pour en savoir plus sur l'instruction with, cliquez ici.

en utilisant pour l'instruction :

pas:

Pour écrire dans un fichier en Python à l'aide d'une instruction for, vous pouvez suivre ces étapes :

Ouvrez le fichier à l'aide de la fonction open() avec le mode approprié (« w » pour l'écriture).
Utilisez l'instruction for pour parcourir les données que vous souhaitez écrire dans le fichier.
Utilisez la méthode write() de l’objet fichier pour écrire les données dans le fichier.
Fermez le fichier à l’aide de la méthode close() de l’objet fichier.

Dans cet exemple, le fichier est ouvert en écriture à l'aide de l'instruction with open('file.txt', 'w') as f. Les données à écrire sont stockées dans une liste appelée données. L'instruction for est utilisée pour parcourir chaque ligne de données de la liste. L'instruction f.write(line + ' ') écrit chaque ligne de données dans le fichier avec un caractère de nouvelle ligne ( ) à la fin. Enfin, le fichier est automatiquement fermé à la fin du bloc with.

Python3

suppression de la liste de tableaux




# 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>

>

>

Sortir

This is the first line This is the second line This is the third line>

Approche:
Le code ouvre un fichier appelé file.txt en mode écriture à l'aide d'un bloc with pour garantir que le fichier est correctement fermé à la fin du bloc. Il définit une liste de chaînes appelées data qui représentent les lignes à écrire dans le fichier. Le code utilise ensuite une boucle for pour parcourir chaque chaîne de données et écrit chaque chaîne dans le fichier à l'aide de la méthode write(). Le code ajoute un caractère de nouvelle ligne à chaque chaîne pour garantir que chaque chaîne est écrite sur une nouvelle ligne dans le fichier. Le code imprime éventuellement chaque chaîne au fur et à mesure de son écriture dans le fichier.

Complexité temporelle :
Le code d'origine et le code alternatif ont une complexité temporelle de O(n), où n est le nombre de lignes à écrire dans le fichier. En effet, les deux codes doivent parcourir chaque ligne de la liste de données pour l'écrire dans le fichier.

Complexité spatiale :
Le code original et le code alternatif ont la même complexité spatiale de O(n), où n est le nombre de lignes à écrire dans le fichier. En effet, les deux codes doivent créer une liste de chaînes représentant les lignes à écrire dans le fichier.