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 :
r
pour lecturew
pour écriture, écrase le fichier si il existe déjàa
pour écriture, ajoute à la fin du fichier si il existe déjàx
pour é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