Maison >développement back-end >Tutoriel Python >Comment puis-je lire un fichier en Python sans caractères de nouvelle ligne ?

Comment puis-je lire un fichier en Python sans caractères de nouvelle ligne ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-16 18:30:12640parcourir

How Can I Read a File in Python Without Newline Characters?

Lecture d'un fichier sans retour à la ligne

La méthode open(filename,'r').readlines() de Python fournit une liste de lignes d'un fichier, mais chaque élément inclut un caractère de nouvelle ligne. Pour récupérer les données sans ces caractères, plusieurs approches sont disponibles.

Utilisation de str.splitlines()

Une méthode consiste à lire l'intégralité du fichier et à diviser les lignes à l'aide de str.splitlines :

temp = file.read().splitlines()

Suppression manuelle des nouvelles lignes

Vous pouvez également supprimer la nouvelle ligne de chaque ligne. manuellement :

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

Remarque : Cette approche suppose que le fichier se termine par une nouvelle ligne ; sinon, la dernière ligne perdra un caractère.

Gestion des nouvelles lignes de fin de fichier

Pour éviter ce problème, vous pouvez ajouter une nouvelle ligne à la fin du fichier si elle est manquante :

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]

Ou, de manière plus concise, supprimez la nouvelle ligne :

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

Lites de lecture équivalentes Implémentation

La méthode readlines émule efficacement le code suivant :

def readlines(self):
    lines = []
    for line in iter(self.readline, ''):
        lines.append(line)
    return lines

Par conséquent, readlines() conserve également les caractères de nouvelle ligne lus par readline().

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