Les méthodes pour manipuler les fichiers sont les suivantes.
open(fichier, mode)
" pour ouvrir un fichier : fichier
est le nom (chemin d'accès) du fichier à ouvrir, et mode
est le mode d'ouverture ("r"
/ "w"
/ "a"
avec un "b"
supplémentaire pour les fichiers binaires). Cette fonction renvoie un objet de type « fichier ».
f.read(n)
" pour lire un certain nombre de caractères (octet pour les fichiers binaires). Si n
est négatif, renvoie tous les octets du fichier.
f.readline()
" renvoie la ligne suivante. Quand il n'y a pas de ligne suivante (fin de fichier), renvoie la chaine vide ""
.
f.readlines()
" renvoie la liste de toutes les lignes restantes. Quand il n'y a plus de lignes dans le fichier, renvoie la liste vide []
.
f.write(chaine)
" pour ajouter une chaine de caractères dans un fichier.
f.close()
" pour fermer un fichier ouvert.
Écrivez un petit programme Python qui crée un fichier test.txt
contenant le texte "Python, c'est moins compliqué que Java."
.
(Si le fichier test.txt
existe déjà, il est remplacé.)
Écrivez une procédure qui prend deux arguments : un nom de fichier et un numéro de ligne. La procédure affichera (avec print
) la ligne correspondante (et seulement celle ci) du fichier.
Écrivez une fonction qui compte le nombre de lignes présentes dans un fichier existant.
Écrivez une fonction qui rajoute, à la fin d'un fichier existant, la ligne "Ce fichier contient n lignes.
", où n
est le nombre de lignes du fichier.
Écrivez une fonction qui affiche la ligne la plus longue d'un fichier.
Écrivez une fonction qui numérote les lignes non-vides d'un fichier.
Écrivez une fonction qui transforme un fichier texte en fichier texte « double interligne » en rajoutant une ligne vide entre chaque ligne.
Écrivez une fonction qui transforme un fichier texte en fichier texte « espace triple » en remplaçant chaque espace par trois espaces.
Il y a de nombreuses manières de parcourir les lignes d'un fichier :
f = open(fichier, "r") lignes = f.readlines() for i in range(len(lignes)): ... quelque chose avec lignes[i] ...
f = open(fichier, "r") lignes = f.readlines() for l in lignes: ... quelque chose avec l ...
f = open(fichier, "r") l = f.readline() while l != "": ... quelque chose avec l ... l = f.readline()
f = open(fichier, "r") for l in f: ... quelque chose avec l ...
Comparez les avantages et les inconvénients de ces méthodes.