Créer lire et écrire dans un fichier en python

Une manière de stocker des données de manière pérenne est de les stocker dans des fichiers.

Editer un fichier

Pour éditer un fichier en python on utilise la fonction open .

Cette fonction prend en premier paramètre le chemin du fichier (relatif ou absolu) et en second paramètre le type d'ouverture

Chemin relatif / chemin absolu

Un chemin relatif en informatique est un chemin qui prend en compte l'emplacement de lecture.

Un chemin absolu est un chemin complet qui peut être lu quelque soit l'emplacement de lecture.

La fonction open

Voici la syntaxe pour lire un fichier

>>> fichier = open("data.txt", "r")
>>> print fichier
<open file 'data.txt', mode 'r' at 0x7ff6cf3fe4b0>

On remarque que le deuxième paramètre est renseigné par un r , ce paramètre indique une ouverture de fichier en lecture .

Les types d'ouverture

Il existe plusieurs modes d'ouverture:

r, pour une ouverture en lecture (READ).
w, pour une ouverture en écriture (WRITE), à chaque ouverture le contenu du fichier est écrasé. Si le fichier n'existe pas python le crée.
a, pour une ouverture en mode ajout à la fin du fichier (APPEND). Si le fichier n'existe pas python le crée.
b, pour une ouverture en mode binaire.
t, pour une ouverture en mode texte.
x, crée un nouveau fichier et l'ouvre pour écriture

Fermeture d'un fichier

Comme tout élément ouvert, il faut le refermer une fois les instructions terminées. Pour cela on utilise la méthode close() .

>>> fichier.close()

Lire le contenu d'un fichier

Pour afficher tout le contenu d'un fichier, vous pouvez utiliser la méthode read sur l'objet-fichier.

# coding: utf-8

fichier = open("data.txt", "r")
print fichier.read()
fichier.close()

Ecrire dans un fichier

Voici la syntaxe pour écrire dans un fichier:

fichier = open("data.txt", "a")
fichier.write("Bonjour monde")
fichier.close()

A noter que pour le monde d'ouverture a , si vous voulez écrire à la ligne, vous pouvez utiliser le saut de ligne \n :

fichier = open("data.txt", "a")
fichier.write("\nBonjour monde")
fichier.close()

Le mot clé with

Il existe une autre syntaxe plus courte qui permet de s'emanciper du problème de fermeture du fichier: le mot clé with .

Voici la syntaxe:

with open("data.txt", "r") as fichier:
	print fichier.read()

Nmap

"mmap" est une bibliothèque Python qui permet de mapper des fichiers ou des segments de mémoire en Python. Elle fournit une interface qui ressemble à celle de tableaux Python, ce qui permet d'accéder aux données du fichier ou du segment de mémoire comme s'il s'agissait d'un tableau Python.

L'utilisation de "mmap" peut être une approche plus efficace pour accéder aux données d'un fichier ou d'un segment de mémoire que l'utilisation de fonctions de lecture et d'écriture standard, car elle permet de mapper le fichier ou le segment de mémoire en mémoire et d'accéder aux données de manière directe, sans passer par l'overhead de l'interpréteur Python. Cela peut être particulièrement utile pour traiter de grandes quantités de données ou pour accéder à des données de manière répétée.

Voici comment utiliser "mmap" pour lire un fichier en Python :

	import mmap

# Ouvre le fichier en mode lecture et récupère sa taille
with open('mon_fichier.txt', 'r') as f:
    size = f.seek(0, 2)
    f.seek(0)
    
    # Crée un objet mmap à partir du fichier
    mm = mmap.mmap(f.fileno(), size)
    
    # Lit le contenu du fichier à l'aide de l'objet mmap
    contents = mm.read()

# Affiche le contenu du fichier
print(contents)


Apprendre programmation cours python 3
Django internet web - Documentation débutant et expert
Version anglaise