Fichiers#
Souvent en bioinfo, on doit lire ou écrire des fichiers
Ouvrir un fichier :
fd = open("nom_du_fichier", "mode d'ouverture")
Modes d'ouverture :
rpour lecturewpour écriture, écrase le fichier si il existe déjàapour écriture, ajoute à la fin du fichier si il existe déjàxpour écriture, échoue si le fichier existe déjà
Python traite les fichiers comme des fichiers texte par défaut (encodage utf-8)
fd est un objet représentant le fichier ouvert sur lequel on peut appeler des fonctions pour manipuler le fichier.
Une fois les manipulations finies, on doit impérativement fermer le fichier !
fd = open("fichier.txt", "r")
# ici instructions utilisant le fichier…
fd.close()
# ici on ne peut plus utiliser fd
Lecture#
Lecture du fichier (fichier ouvert en mode r)
Le fichier a un curseur qui avance à chaque opération de lecture.
Lire tout le fichier comme chaîne de caractères
chaine = fd.read()
Lire n caractères du fichier comme chaîne de caractères
chaine = fd.read(n)
Lire une ligne du fichier comme chaîne de caractères
ligne = fd.readline()
Lire toutes les lignes du fichier dans une liste
lignes = fd.readlines()
Pour revenir au début : fd.seek(0)
Lire le fichier ligne par ligne avec une boucle (Équivalent d'une boucle utilisant fd.readline())
for ligne in fd:
print(ligne)
La boucle utilise le curseur du fichier de la même manière que les autres fonctions !
Warning
Les lignes lues par readline(), readlines() et la boucle for contiennent les sauts de ligne (\n).
Ecriture#
Écriture dans un fichier (fichier ouvert en mode w, a ou x)
-
Écrire une chaîne de caractères :
fd.write(chaine)Warning
N'ajoute pas automatiquement le saut de ligne ("\n")
-
Écrire plusieurs lignes (liste de chaînes de caractère) :
fd.writelines(liste)Warning
N'ajoute pas non plus les sauts de ligne ("\n")
With#
Ouverture du fichier avec with : fermeture automatique

Fichier fermé automatiquement :
- A la fin du bloc
- En cas d'erreur dans le bloc