2010-09-07 5 views
0

J'utilise python et je veux supprimer certains caractères de la fin d'un fichier texte. Le fichier est grand et je ne veux pas tout lire et dupliquer la partie intéressante. Ma meilleure estimation est que je dois changer la taille du fichier ....python - éditer un fichier texte

quelqu'un peut me aider s'il vous plaît grâce

+0

Pouvez-vous fournir la dernière ligne du fichier? Est ce que vous voulez supprimer une chaîne de longueur fixe? –

+0

Non. Je ne connais pas la taille de la section. Je saute à un endroit spécifique dans le fichier et vérifie la valeur, Si la valeur ne correspond pas à ce que je veux, je veux supprimer le fichier de ce point – user401527

+0

Eh bien, évidemment si votre "lieu spécifique" a été spécifié avec un numéro de ligne ou une chaîne , vous auriez besoin d'utiliser une recherche en force brute, donc je suppose que vous avez un décalage d'octets pour travailler avec? Comme dit Dmitko, vous et cherchez là, lisez suffisamment de données pour faire votre vérification. Les objets fichier ont une méthode tronquée (nouvelle taille) que vous pouvez utiliser si nécessaire. –

Répondre

2

Je suppose que vous avez besoin d'ouvrir le fichier, chercher à la fin, supprimer des caractères et sauvegarde le.

seek (http://docs.python.org/library/stdtypes.html#file.seek) accepte des valeurs négatives (par exemple f.seek(-3, os.SEEK_END) définit la position au antépénultième), de sorte que vous pouvez facilement aller à la fin de votre fichier.

http://docs.python.org/library/stdtypes.html#file-objects - ce lien peut être un bon point de départ.

Questions connexes