Maison > développement back-end > Tutoriel Python > Comment puis-je supprimer efficacement les nouvelles lignes des données de fichier lues avec « readlines() » de Python ?

Comment puis-je supprimer efficacement les nouvelles lignes des données de fichier lues avec « readlines() » de Python ?

DDD
Libérer: 2024-12-16 03:29:10
original
872 Les gens l'ont consulté

How Can I Efficiently Remove Newlines from File Data Read with Python's `readlines()`?

Suppression des nouvelles lignes des données de fichier en Python

Lors de la lecture d'un fichier en Python à l'aide de la méthode readlines(), les éléments de liste résultants contiennent des nouvelles lignes à la fin. Pour éliminer ces nouvelles lignes, plusieurs approches sont disponibles.

Une méthode consiste à utiliser la fonction splitlines() de la chaîne pour diviser les lignes sur les nouvelles lignes après avoir lu l'intégralité du fichier :

temp = file.read().splitlines()
Copier après la connexion

Alternativement, vous pouvez supprimez manuellement les nouvelles lignes :

temp = [line[:-1] for line in file]
Copier après la connexion

Remarque : Cette méthode suppose que le fichier se termine par une nouvelle ligne ; sinon, la dernière ligne sera tronquée.

Pour garantir la présence d'une nouvelle ligne de fin, vous pouvez en ajouter une manuellement :

with open(the_file, 'r+') as f:
    f.seek(-1, 2)
    if f.read(1) != '\n':
        f.write('\n')
        f.flush()
        f.seek(0)
    lines = [line[:-1] for line in f]
Copier après la connexion

Une autre option consiste à utiliser strip() pour supprimer les nouvelles lignes :

[line.rstrip('\n') for line in file]
Copier après la connexion

Par souci de concision, vous pouvez également utiliser ce qui suit approche :

[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
Copier après la connexion

Comprendre readlines()

La méthode readlines() parcourt readline(), qui inclut les nouvelles lignes. Ainsi, readlines() aussi. Par souci de cohérence, writelines() n'ajoute pas de nouvelles lignes, garantissant ainsi qu'une copie exacte est produite lors de l'utilisation des deux méthodes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal