Python 3 - Méthode File seek ()

La description

La méthode seek()définit la position actuelle du fichier au décalage. L'argument whence 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.

Il n'y a pas de valeur de retour. Notez que si le fichier est ouvert pour l'ajout à l'aide de «a» ou «a +», toutes les opérations de recherche () seront annulées à la prochaine écriture.

Si le fichier n'est ouvert pour l'écriture qu'en mode ajout en utilisant 'a', cette méthode est essentiellement un no-op, mais elle reste utile pour les fichiers ouverts en mode ajout avec lecture activée (mode 'a +').

Si le fichier est ouvert en mode texte en utilisant 't', seuls les décalages retournés par tell () sont autorisés. L'utilisation d'autres décalages entraîne un comportement indéfini.

Notez que tous les objets fichier ne peuvent pas être recherchés.

Syntaxe

Voici la syntaxe pour seek() méthode -

fileObject.seek(offset[, whence])

Paramètres

  • offset - Il s'agit 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.

Valeur de retour

Cette méthode ne renvoie aucune valeur.

Exemple

L'exemple suivant montre l'utilisation de la méthode seek ().

Assuming that 'foo.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
#!/usr/bin/python3

# Open a file
fo = open("foo.txt", "r+")
print ("Name of the file: ", fo.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

Lorsque nous exécutons le programme ci-dessus, il produit le résultat suivant -

Name of the file:  foo.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