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
DDDoriginal
2024-12-16 03:29:10770parcourir

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()

Alternativement, vous pouvez supprimez manuellement les nouvelles lignes :

temp = [line[:-1] for line in file]

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]

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

[line.rstrip('\n') for line in file]

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

[line[:-(line[-1] == '\n') or len(line)+1] for line in file]

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:
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