Lire les données d'un fichier
Lors de la lecture d'un fichier texte, le flux d'octets entre dans l'entrée du programme de manière séquentielle les uns après les autres, de sorte que le fichier fournit un accès séquentiel aux données. Autrement dit, si nous devons lire la 10ème valeur du fichier, nous devons d'abord lire les 9 précédentes.
La lecture d'une seule ligne d'un fichier permet à la méthode
readline()
de s'exécuter. Cette méthode est appelée sur une variable de fichier.
Fin = open("input.txt")
s = Fin.readline()
Différentes méthodes peuvent être appliquées à la chaîne lue, similaires à celles utilisées lors de la lecture au clavier (split()
, map()
, etc.). Par exemple, s'il y a deux nombres séparés par un espace dans une ligne d'un fichier, alors vous pouvez les compter comme suit :
Fin = open("input.txt")
s = Fin.readline().split() # diviser la ligne sur les espaces s = ["2007", "2021"]
a, b = map(entier, s) # appliquer la méthode int() à tous les éléments de la liste s,
# c'est-à-dire convertir la chaîne de caractères en nombre
# a, b = int(s[0], s[1]) # c'est la même chose que la ligne ci-dessus
# a, b = [int(x) for x in s] # comme un générateur
La méthode read()
lit tout le contenu du fichier et renvoie une chaîne pouvant contenir les caractères '\n
'. Si un paramètre entier est passé à la méthode read()
, pas plus que le nombre de caractères spécifié ne sera lu. Par exemple, vous pouvez lire un fichier octet par octet en utilisant la méthode read(1)
.
.
Lorsqu'un fichier est ouvert, le pointeur qui détermine l'emplacement actuel dans le fichier est placé au début du fichier et, lors de la lecture, est décalé à la position suivant les données lues. Lors de l'écriture, le pointeur est déplacé vers la position libre suivante.