À quoi sert la fonction seek () en Python?


Meilleure réponse

Syntaxe:

fileObject.seek(offset[, whence])

  • offset – Il sagit de la position du pointeur de lecture / écriture dans le fichier.
  • whence – Ceci est facultatif et vaut par défaut 0 ce qui signifie le positionnement absolu du fichier, les autres valeurs sont 1 qui signifie rechercher par rapport à la position actuelle et 2 signifie rechercher par rapport à la fin du fichier.

Ex

Sample.txt:

Assuming that "Sample.txt" file contains following text:

This is 1st line

This is 2nd line

This is 3rd line

This is 4th line

This is 5th line

Programme Python:

# Open a file

fo = open("Sample.txt", "r+")

print ("Name of the file: ", Sample.name)

line = fo.readlines()

print ("Read Line: \%s" \% (line))

# Again set the pointer to the beginning

fo.seek(0, 0)

line = fo.readline()

print ("Read Line: \%s" \% (line))

# Close opened file

fo.close()

Résultat:

Name of the file: Sample.txt

Read Line: ["This is 1st line\n", "This is 2nd line\n", "This is 3rd line\n", "This is 4th line\n", "This is 5th line"]

Read Line: This is 1st line

Jespère que cela vous aidera…

Merci 🙂

Réponse

supposons que vous ayez ouvert un fichier à lire (ou à écrire, le concept reste le même).

fh = open (« foo.txt », « r »)

et vous avez utilisé f.readline () pour lire le fichier. Pensez à un curseur qui se trouve à une certaine position dans le fichier. par exemple, lorsque vous venez douvrir un fichier à lire, la position du curseur est 0. Lorsque nous faisons un readline (), la position change.

Essayez ceci:

>>> fh=open(“foo.txt”, “r”)

>>> fh.read()

>>> fh.read()

‘’

Lorsque vous exécutez la ligne4, rien est affiché. En effet, après avoir exécuté la ligne 2, le curseur a déjà atteint la fin du fichier. il ny a plus rien à afficher.

Il est possible de changer la position du curseur en utilisant la méthode seek (). Dans la plus simple des utilisations de seek (), utilisez

>>> fh.seek(0)

>>> fh.read()

Le contenu du fichier sera de nouveau affiché. Ce qui sest passé ici, cest que le curseur a été déplacé au début du fichier.

seek () prend 2 paramètres.

  1. réinitialise la position au décalage doctet donné
  2. doù – donne la position de décalage par rapport à 0-début, 1-position actuelle ou 2 – fin.

la valeur par défaut du deuxième paramètre est 0. La valeur de décalage est obligatoire en appelant cette fonction.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *