En seek()
ce qui concerne il n'y a pas trop de soucis.
Tout d'abord, il est utile lorsque vous opérez sur un fichier ouvert.
Il est important de noter que sa syntaxe est la suivante:
fp.seek(offset, from_what)
où fp
est le pointeur de fichier avec lequel vous travaillez; offset
signifie combien de positions vous allez déplacer; from_what
définit votre point de référence:
- 0 : signifie que votre point de référence est le début du fichier
- 1 : signifie que votre point de référence est la position actuelle du fichier
- 2 : signifie que votre point de référence est la fin du fichier
si omis, la valeur par from_what
défaut est 0.
N'oubliez jamais que lors de la gestion de fichiers, il y aura toujours une position dans ce fichier sur laquelle vous travaillez actuellement. Lorsqu'elle est simplement ouverte, cette position est le début du fichier, mais à mesure que vous travaillez avec elle, vous pouvez avancer.
seek
vous sera utile lorsque vous en aurez besoin le walk
long de ce fichier ouvert, tout comme un chemin dans lequel vous voyagez.
Nicolás Ozimica
la source
os.SEEK_SET
,os.SEEK_CUR
et auos.SEEK_END
lieu des numéros magiques0
,1
et2
, respectivement.Lorsque vous ouvrez un fichier, le système pointe vers le début du fichier. Toute lecture ou écriture que vous effectuez se fera depuis le début. Une
seek()
opération déplace ce pointeur vers une autre partie du fichier afin que vous puissiez lire ou écrire à cet endroit.Donc, si vous voulez lire le fichier entier mais ignorez les 20 premiers octets, ouvrez le fichier,
seek(20)
pour aller là où vous voulez commencer la lecture, puis continuez avec la lecture du fichier.Ou disons que vous voulez lire tous les 10 octets, vous pouvez écrire une boucle qui fait
seek(9, 1)
(avance de 9 octets par rapport aux positions actuelles),read(1)
(lit un octet), répète.la source
La
seek
fonction attend un décalage en octets.Exemple de fichier Ascii:
Donc, si vous avez un fichier texte avec le contenu suivant:
simple.txt
Vous pouvez sauter d' un octet pour sauter le premier caractère comme suit:
Exemple de fichier binaire regroupant la largeur:
la source
Pour les chaînes, oubliez d'utiliser WHENCE: utilisez f.seek (0) pour positionner au début du fichier et f.seek (len (f) +1) pour positionner à la fin du fichier. Utilisez open (file, "r +") pour lire / écrire n'importe où dans un fichier. Si vous utilisez "a +", vous ne pourrez écrire (ajouter) qu'à la fin du fichier, quel que soit l'endroit où vous positionnez le curseur.
la source