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 ?
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!