La fonction Seek () définit la position d'un pointeur de fichier, tandis que la fonction Tell () renvoie la position actuelle du pointeur de fichier. La fonction Seek () de Python modifie l'emplacement actuel du fichier en décalage. D'où est un paramètre facultatif qui est par défaut à 0 pour le placement de fichiers immédiat; Les autres valeurs sont 1 pour rechercher par rapport à l'emplacement actuel et 2 pour rechercher par rapport à la fin du fichier. Il n'y a aucune valeur renvoyée. Toutes les actions Seek () seront effacées lors de la prochaine écriture si le fichier est ouvert pour ajouter avec «A» ou «A+.`` Cette méthode n'est pas utile si le fichier est juste ouvert pour l'écriture et est en mode annexe avec 'A' ', mais il est utile pour les fichiers ouverts en mode annexe avec la lecture activée. Seuls les décalages renvoyés par Tell () sont légaux lorsque le fichier est ouvert en mode texte avec 't.«L'utilisation de divers compensations entraîne un comportement imprévisible. Il est essentiel de garder à l'esprit que tous les objets de fichier ne peuvent pas être recherchés.
Le but de cet article est de vous apprendre à utiliser la méthode Seek () pour faire avancer ou reculer le curseur de fichier de sa position actuelle. Apprenez à déplacer le pointeur de fichier au début du fichier ou à la fin du fichier. Apprenez à déterminer la position actuelle du «FileHandle» en déplaçant le pointeur de fichier vers l'arrière depuis la fin du fichier. Alors, commençons le tutoriel.
Exemple 1:
Considérez le scénario suivant, dans lequel nous lisons le contenu d'un fichier texte avec un décalage de 5. Cela indique que nous commencerons à lire le fichier au 5ème caractère.
Ici, nous avons ouvert le fichier en donnant le chemin exact de celui-ci. Après cela, nous avons lu le contenu du 5ème caractère en utilisant la méthode de recherche.
avec Open (R'd: / Users / Demos / Demo.txt ', "r") comme fp:Les cinq premiers caractères sont manquants dans la sortie, comme vous pouvez le voir.
Exemple 2:
Nous rechercherons le début du fichier dans ce cas. En définissant le paramètre d'où 0, nous pouvons utiliser la méthode Seek () pour déplacer la référence du fichier au début du fichier. Le 0 désigne le début du fichier, qui est le premier octet. Voyons comment amener le curseur du fichier au début du fichier. Ici, nous écrivons dans un fichier texte dans l'exemple de procédure. Nous voulions déplacer le curseur au début du fichier après avoir ajouté du contenu pour lire le fichier complet.
avec Open (R'd: / Users / Demos / Demo.txt ', "w +") comme fp:Le texte est écrit.
Vous trouverez ci-dessous le texte mis à jour après l'exécution réussie du code.
Exemple 3:
Dans cet exemple, nous chercherons à la fin du fichier. Dans ce cas, nous commencerons à rechercher à la fin du fichier. Nous définissons d'où 2 et compensions sur 0 pour déplacer le pointeur de fichier vers la fin du fichier. Les trois opérations énumérées ci-dessous seront effectuées dans l'exemple ci-dessous. Nous allons ajouter du contenu supplémentaire et déplacer le pointeur de fichier à la fin du fichier. La référence du fichier sera ensuite déplacée au début du fichier, et de nouvelles informations y seront ajoutées. Nous retournerons le pointeur du fichier au début et continuerons avec l'opération d'écriture. Voyons comment déplacer le curseur du fichier à la fin du fichier. Nous utiliserons un fichier existant pour ce processus et ouvrirons un nouveau fichier en mode lecture / écriture.
avec Open (R'd: / Users / Demos / Demo.txt ', "w +") comme fp:Le contenu est ajouté à la fin de la ligne.
La démo.Le fichier txt est également mis à jour.
Exemple 4:
Enfin, nous examinerons la situation actuelle. Nous pouvons déplacer le pointeur de fichier quelques positions avant la position actuelle en définissant d'où 1 et compenser le numéro de la position que nous souhaitons modifier. Si le pointeur de fichier actuel est à la 20e position et que vous souhaitez passer au 75e caractère, définissez le décalage à 50 et d'où 1. Nous utiliserons un fichier existant et ouvrirons un nouveau fichier en mode lecture / écriture pour ce processus. Considérez le code ci-dessous, qui lit trois octets et les convertit en octets. L'article a ensuite été avancé à 10 points de sa position existante. Nous avons lu trois octets dans le dernier.
avec Open (R'd: / Users / Demos / Demo.txt ', "rb") comme fp:L'écran résultant du code ci-dessus est le suivant.
Conclusion:
Dans cet article, nous avons appris à parcourir différentes parties ou sections d'un fichier à l'aide du FileHandle. Nous vous avons montré comment modifier la position FileHandle avec la méthode Seek () pour ajouter un nouveau contenu ou lire certaines sections de fichier.