Apprentissage du langage Python

Utilisation de fichiers textes

Généralités

En python, l'accès aux fichiers (en lecture ou en écriture) se fait par l'intermédiaire d'un objet que l'on appelera objet-fichier.

L'objet-fichier se crée à l'aide de la fonction open(nom_fichier,mode) qui nécessite deux arguments : le nom du fichier et le mode d'ouverture du fichier.

L'objet-ficher permet de disposer d'un ensemble de méthode et de fonction décrites ci-après.

Une fois que l'objet-fichier n'est plus utilisé, il est nécessaire de le fermer à l'aide de la méthode close().

Ecriture dans un fichier

Les modes d'ouverture en écriture

Les modes d'ouverture de la fonction open() pour l'écriture dans un fichier :

- 'a' (pour append) : permet d'ajouter du texte à la fin d'un fichier,

- 'w' (pour write) : ouvre un fichier en mode écrasement (si le fichier éxistait déjà, son contenu est écrasé).

La méthode write()

La méthode pour écrire dans un fichier est write(). Le contenu ajouté se place toujours à la fin du fichier.

Exemple

objFich = open('essai.txt', 'w')
objFich.write('Bonjour')
objFich.write('Il fait beau aujourd\'hui')
objFich.close()

Lecture du contenu d'un fichier

Le mode d'ouverture en lecture

Le mode d'ouverture de la fonction open(nom_fichier, mode) pour lecture du contenu d'un fichier est 'r' (pour read).

La méthode read()

La méthode read() permet de lire la totalité du contenu d'un fichier.

Exemple :

objFich = open('essai.txt', 'r')
texte = objFich.read()
print(texte)
objFich.close()

La méthode read(n)

La méthode read(n) permet de lire n caractères d'un fichier à partir de la position déjà atteinte dans le fichier.

Exemple :

objFich = open('essai.txt', 'r')
t1 = objFich.read(10) # récupère les 10 premiers caractères
t2 = objFich.read(10) # récupère les 10 caractères suivants
objFich.close()

Remarque :

Lorsque la position atteinte est la fin du fichier, la méthode renvoie une chaine vide.

La méthode readline()

La méthode readline() permet de lire une ligne d'un fichier texte à partir de la position déjà attenite dans le fichier. Le caractère de fin de ligne etant '\n'

Exemple :

objFich = open('essai.txt', 'r')
ligne1 = objFich.readline() # récupère la première ligne
ligne2 = objFich.readline() # récupère la ligne suivante
objFich.close()

Remarque :

Lorsque la position atteinte est la fin du fichier, la méthode renvoie une chaine vide.

La méthode readlines()

La méthode readlines() renvoie une liste des lignes du fichiers sous forme de chaines terminant par '\n'.

Exemple :

objFich = open('essai.txt', 'r')
liste_lignes = objFich.readlines()
objFich.close()

Remarques générales

Utilisation d'un jeu de caractères spécifique

Lors de la création du fichier-objet avec la méthode open(), il est possible de précciser l'encodage (par défaut, cet encodage des l'utf-8) :

objFich = open('essai.txt', 'r', encoding='utf-8')
# ...
objFich.close()

Utilisation de with

L'ouverture et la fermeture de l'objet-fichier peut être simplifiée avec l'utilisation de with.

with open('essai.txt', 'r') as objFich:
    # instructions qui concernent l'objet-fichier