Ouverture en mode écriture des fichier en Python

ouvrir le fichier en mode écriture en Python, l’instruction f = open ("myfile.txt", "w") ouvre myfile.txt en mode écriture, la méthode open () renvoie le fichier objet et l’assigne à une variable f. "w" spécifie que le fichier doit être accessible en écriture. Ensuite, nous devons mettre certaines données dans le fichier. Le f.write ("Hello! Learn Python sur tresfacile.net.") Stocke une chaîne dans le fichier. En fin de compte, f.close () ferme l'objet fichier.  Lorsque vous exécutez le code ci-dessus, vous trouverez "myfile.txt" créé sur le lecteur D de votre ordinateur. Vous pouvez voir le contenu en l'ouvrant avec un éditeur, comme Notepad.



1 - Ouverture et écriture dans un fichier existant

Pour écrire dans un fichier existant, vous devez ajouter l'un des paramètres à la fonction open():

  • "a" - Append - sera ajouté à la fin du fichier
  • "w" - Write - écrasera tout contenu existant
  • ''r+'' Lecture et écriture sans écraser le contenu existant

On dira alors que le fichier est ouvert en mode écriture (write mode) Pour écrire dans fichier ouvert en mode écriture, on utilise la fonction write().

La syntaxe est:

file.write(contenu)

Exemple: ouvrir un fichier et y ajouter du contenu:

# ouverture avec conservation du contenu existant
f = open ("myFile.txt", "a") 
f.write ("Voici un contenu qui va s'ajouter au fichier sans écraser le contenu!")
f.close ()
# ouvrir et lire le fichier après l’ajout:
f = open ("myFile.txt", "r")
print (f.read())

Exemple: ouvrir le fichier "myFile.txt" avec écrasement du  contenu existant:

# -*- coding: utf-8 -*- 
# ouverture avec écrasement du contenu existant
f = open ("myFile.txt", "w") 
f.write ("Désolé ! J'ai supprimé le contenu!") 
f.close()
# ouvrir et lire le fichier après l’ajout:
f = open ("myFile.txt", "r") 
print (f.read())

2 Création des fichiers

Pour créer un nouveau fichier en Python, on utilise la méthode open(), avec l'un les paramètres suivants:

  • "x" - ce mode d'ouverture, crée un fichier s'il n'existe pas et renvoie une erreur si le fichier existe
  • "a" - Append - créera un fichier si le fichier spécifié n'existe pas
  • "w" - Write - créera un fichier si le fichier spécifié n'existe pas et si le fichier existe, il sera écrasé
  • '' r+ '' - ouverture en mode lecture et écriture. Si le fichier n'existe pas, une erreur est renvoyée.

Exemple. Création d'un fichier nommé "myFile.txt":

f = open ("myFile.txt", "x") # renvoie une erreur si le fichier existe.

3 -  Ajouter des lignes à un fichier en Python avec la méthode writelines()

La méthode writelines(), permet d'ajouter une liste de chaines ou une liste de lignes à un fichier ouvert en mode écriture

Exemple. ajouter une liste des lignes à un fichier

f = open ("myFile.txt", "r+")
l = ["ligne1\n","ligne2\n,"ligne3\n"]
f.writelines(l)
print(f.read())
f.close()

Ce qui affiche après exécution:

ligne1
ligne2
ligne3



4 -  Récapitulatif des méthodes Python associées à un objet fichier avec description :

  1. file.close() : ferme un fichier ouvert.
  2. file.fileno() : retourne un descripteur entier d'un fichier.
  3. file.flush() : vide le tampon interne.
  4. file.isatty() : renvoie true si le fichier est connecté à un périphérique tty.
  5. file.next() : retourne la ligne suivante du fichier.
  6. fichier.read(n) : lit les n premiers caractères du fichier.
  7. file.readline() : lit une seule ligne dans une chaine ou un fichier.
  8. file.readlines() : lit et renvoie la liste de toutes les lignes du fichier.
  9. file.seek( ) : définit la position actuelle du fichier.
  10. file.seekable() : vérifie si le fichier prend en charge l'accès aléatoire. Renvoie true si oui.
  11. file.tell() : retourne la position actuelle dans le fichier.
  12. file.truncate(n) : tronque la taille du fichier. Si n est fourni, le fichier est tronqué à n octets, sinon tronqué à l'emplacement actuel.
  13. file.write(str) : écrit la chaine str dans le fichier.
  14. file.writelines(séquence) : écrit une séquence de lignes ou de chaines dans le fichier.

 

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply