Accès aux fichiers

Types de fichiers

Il existe plusieurs types de fichiers. Dans ce cours, nous nous intéresserons aux fichiers textes et CSV.

  • Fichier texte : Fichier contenant des caractères sans structuration apparente.

  • Fichier CSV : Fichier contenant des informations séparées par un caractère spécial (point virgule ; , virgule , ou d'autres caractères).

Étapes d’accès à un fichier

Pour accéder à un fichier, nous avons besoin des trois étapes suivantes :

  1. Ouvrir le fichier en mode lecture ou en mode écriture.

  2. Lire l’information du fichier ou écrire dans le fichier.

  3. Fermer le fichier.

Chemin d’accès aux fichiers

Séquence de dossiers et sous-dossier pour atteindre un fichier à partir du code.

  • Chemin absolu : À partir de la racine du disque du système de fichiers (C:\..., D:\...., etc.). Exemple : C:/Application/Data/mon_fichier.txt

  • Chemin relatif: À partir de la position du dossier courant. Exemple : Si le code qui accède au fichier est dans le répertoire /home/utilisateur/code.py et que le fichier à accéder se trouve dans /home/utilisateur/documents/mon_fichier.txt, le chemin relatif serait documents/mon_fichier.txt

Modes d'ouverture

  • "r" : Mode lecture seule (read).

  • "w" : Mode écriture (write).

  • "a" : Mode ajout au texte existant (append).

Ouverture et fermeture d’un fichier : méthode open/close

Syntaxe ouverture : var_objet_fichier = open(nom_fichier, mode_ouverture)

Syntaxe fermeture : var_objet_fichier.close()

Mode d’ouverture : Il existe trois modes d’ouverture pour un fichier :

Exemple : ouverture fichier en mode lecture

mon_fichier = open("Exemple.txt", "r")

# ...Code lecture du fichier ...

mon_fichier.close()

Ouverture et fermeture d’un fichier : méthode with open

L'exemple suivant est en mode lecture. Mais la même syntaxe est valable en mode écrire "w" ou en mode ajout "a".

with open("Exemple.txt", "r") as fichier:
    # ... lecture du fichier et autres traitements

Lecture et écriture d’un fichier texte

Méthodes pour lire un fichier

  • .read(): Retourne une chaîne contenant tous les caractères du fichier.

  • .read(n): Retourne une chaîne contenant les n prochains caractères.

  • .readline(): Retourne une chaîne de tous les caractères jusqu’au prochain retour de ligne (\n).

  • .readlines(): Retourne une liste contenant chacune des lignes du fichier (incluant /n) comme éléments de la liste.

  • .read().splitlines(): Retourne une liste contenant chacune des lignes du fichier (excluant /n) comme éléments de la liste.

À chaque lecture, le curseur se déplace. La prochaine lecture se fera à partir de la nouvelle position de ce curseur.

Méthodes pour écrire dans un fichier

  • .write(<str>) : Écrit une chaîne de caractères dans le fichier.

  • .writelines(<list>) : Écrit une liste de chaîne de caractères dans le fichier.

  • Le retour de ligne (\n) n’est jamais inclus. Il faut donc prévoir de l’ajouter en cas de besoin.

  • En mode écriture, le fichier sera créé s’il n’existe pas. ATTENTION! S’il existe, il sera écrasé.

  • En mode ajout, le fichier sera créé s’il n’existe pas. S’il existe, l’ajout se fera à la fin du fichier.

Exercice

En complément au laboratoire crypto varié, sauvegardez les mots de passes avec leurs hash respectifs dans un fichier txt ou csv (au choix).

Crypto variée

Last updated