Maison > développement back-end > Tutoriel Python > Comment lire un fichier en Python sans saut de ligne ?

Comment lire un fichier en Python sans saut de ligne ?

DDD
Libérer: 2024-12-30 20:46:14
original
718 Les gens l'ont consulté

How to Read a File in Python Without Newlines?

Comment lire un fichier en Python sans conserver les nouvelles lignes

En Python, lire un fichier avec open(filename, 'r'). readlines() fournit une liste de chaînes avec des caractères de nouvelle ligne à la fin. Ce comportement peut être indésirable dans certains cas. Cet article explore plusieurs méthodes pour lire un fichier sans les nouvelles lignes.

Méthode 1 : Utilisation de str.splitlines()

Cette méthode lit l'intégralité du fichier dans une chaîne et le divise en lignes individuelles à l'aide de la fonction str.splitlines(). Le résultat est une liste de chaînes sans sauts de ligne :

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

Méthode 2 : suppression manuelle des sauts de ligne

Si la méthode de compréhension de liste et de découpage est préférée, l'approche suivante peut être utilisé :

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

Cependant, cette solution suppose que le fichier se termine par un caractère de nouvelle ligne. Sinon, la dernière ligne perdra son caractère final.

Méthode 3 : Ajouter une nouvelle ligne à la fin du fichier

Pour éviter de perdre le dernier caractère, une nouvelle ligne peut être ajouté à la fin du fichier avant de lire :

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

Méthode 4 : Utiliser rstrip()

Cette méthode offre une alternative à la suppression manuelle des nouvelles lignes :

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

Méthode 5 : Utilisation du découpage conditionnel

Bien que moins lisible, cette méthode utilise l'évaluation booléenne du ou opérateur :

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

Remarque : La méthode readlines() en Python conserve les nouvelles lignes dans la liste de chaînes renvoyée car readline() elle-même les préserve.

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!

source:php.cn
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