Nov 23, 2024

Wiki

Python

Aide

edit SideBar

Search

Fichiers


Écriture

Ouverture

Pour ouvrir un fichier toto en écriture :

  >>> tt = open('toto','w')

w signifie : ouverture en mode écriture...

  • Si le fichier n'existe pas, le créer.
  • Sinon, le détruire, le remplacer.

Un autre mode existe, le mode append (a), où on rajoute à la suite du fichier toto les choses à écrire, quand ce fichier existe déjà. La ligne ci-dessus s'écrit alors :

  >>> tt = open('toto','a')

Écriture

Pour écrire dans tt, résultat de l'ouverture de toto en mode écriture ou ajout :

  >>> tt.write('coucou\n')
  >>> tt.write('Comment va ?')

On ne peut écrire que des chaînes de caractères. Pour écrire le nombre 12, le convertir en chaîne :

  >>> tt.write(str(12))

Fermeture du fichier

Pour fermer le fichier, utilisez la méthode close :

  >>> tt.close()

Lecture

La lecture est similaire à l'écriture.

Ouverture

Pour ouvrir un fichier toto en lecture :

  >>> tt = open('toto','r')

Lecture

Pour lire un fichier ouvert, plusieurs méthodes... Supposons que l'on ait créé le fichier suivant :

  >>> dd=open('toto','w')
  >>> dd.write('coucou\n')
  >>> dd.write('Comment va ?')
  >>> dd.write(str(12))
  >>> dd.close()

Alors on peut tout lire d'un bloc : une chaîne de tous les caractères du fichier...

  >>> ee = open('toto','r')
  >>> ff = ee.read()
  >>> ff
  'coucou\nComment va ?12'

On peut aussi lire toutes les lignes du fichier : une liste de chaînes de caractères, une par ligne...

  >>> ee = open('toto','r')
  >>> ff = ee.readlines()
  >>> ff
  ['coucou\n', 'Comment va ?12']

On peut, enfin, lire ligne par ligne...

  >>> ee = open('toto','r')
  >>> ee.readline()
  'coucou\n'
  >>> ee.readline()
  'Comment va ?12'
  >>> ee.readline()
  ''

Fermeture

Reste à fermer le fichier, une fois lu tout ce qu'il faut...

  >>> ee.close()

Cas des fichiers binaires

On peut utiliser un mode binaire, en lecture ou en écriture, en remplaçant 'r', 'w', 'a', par 'rb', 'wb' et 'ab', etc.

Page Actions

Recent Changes

Group & Page

Back Links