You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

1.4 KiB

\center \huge Lire et écrire des fichiers

Rappel: lire

file = open("toto.txt", "r")   # 'r' comme 'read'
contenu = file.read()
file.close()

Note: le fichier toto.txt doit exister!

Écrire

On peut écrire tout le contenu d’un coup:

contenu = "du texte à sauvegarder"
file = open("article.txt", "w") # 'w' comme 'write'
file.write(contenu)
file.close()
  • Le fichier article.txt sera écrasé s’il existe déjà.
  • N’oubliez surtout pas d’appeler close()

Que faire en cas d’erreur ?

file = open("article.txt", "w") # 'w' comme 'write'
# ... beacoup de code ici
# ... < une erreur
file.close()

S’il y a une erreur entre open() et close(), le fichier ne sera pas fermé!

Le mot-clé with

with open("toto.txt", "w") as file:
    file.write("du texte")

Quand on sort du bloc with on a la garantie que file.close() sera appelé, même si on sort du bloc à cause d’une erreur.

Convention

Il n’y a maintenant plus aucune raison d’appeler .close() “à la main”, donc ne le faites pas ...

Lire et écrire des lignes

Très courant:

with open("toto.txt", "r") as file:
    lignes = file.readlines()

# faire quelque chose avec la liste de lignes

with open("toto.txt", "w") as file:
    file.writelines(lignes)

Pensez à fermer le premier fichier avant d’ouvrir le second. (ça marche même s’ils ont le même nom)