Accéder au contenu principal

Python New Line : Méthodes de formatage des codes

Découvrez comment utiliser \n pour insérer des sauts de ligne dans les chaînes de caractères et les instructions print(). Utilisez le paramètre end pour que votre sortie reste sur une seule ligne. Améliorez vos compétences en matière de gestion de fichiers avec os.linesep pour gérer du texte sur différents systèmes.
Actualisé 15 janv. 2025  · 8 min de lecture

Dans Python, les caractères de retour à la ligne dictent la manière dont le texte est structuré, affiché et organisé. Sans une gestion appropriée, votre sortie peut devenir confuse, entraînant des bogues et des comportements inattendus dans vos scripts et applications.

Ce guide vous présentera tout ce que vous devez savoir sur les caractères de nouvelle ligne dans Python. Plus précisément, vous apprendrez à créer et à contrôler les sauts de ligne, à nettoyer les données textuelles en supprimant les caractères de retour à la ligne et à travailler avec des chaînes de caractères multilignes. Si vous recherchez un comportement différent, qui consiste à ajouter un saut de ligne à l'intérieur de votre code tout en conservant la même sortie, consultez notre tutoriel Comment faire un saut de ligne en Python

Réponse rapide : Comment créer une nouvelle ligne en Python

Un caractère de retour à la ligne en Python, également appelé séquence d'échappement, est représenté par \n. Ce caractère est utilisé pour insérer un saut de ligne dans le texte, séparant une ligne de la suivante. Prenons un exemple simple :

print("Hello,\nWorld!")

Ce code produira un résultat :

Hello,
World!

Ici, le caractère \n garantit que "World !" est imprimé sur une nouvelle ligne. Les caractères de retour à la ligne sont le plus souvent utilisés dans les chaînes de caractères et les instructions d'impression de Python pour aider les codeurs à formater le texte.

Gestion et suppression des sauts de ligne dans un texte Python

Cette section fournit un guide sur l'utilisation des caractères de retour à la ligne dans les chaînes et les instructions print(), ainsi que sur l'utilisation de chaînes multilignes pour un texte plus propre et mieux organisé.

Création de chaînes de caractères multilignes

Python vous permet de créer des chaînes de caractères multilignes en utilisant des guillemets triples (‘’’ ou “””). Cette fonction est particulièrement utile lorsque vous devez stocker ou éditer de longs blocs de texte. Les chaînes multilignes préservent les sauts de ligne dans le texte, ce qui facilite la gestion des messages formatés ou de la documentation. Par exemple :

message = """Dear User,
Thank you for subscribing to our service.
Best regards,
The Team"""

Lors de l'impression, cette chaîne conservera son format mutiline :

Dear User,
Thank you for subscribing to our service.
Best regards,
The Team

Gestion et suppression des caractères de retour à la ligne

Il est parfois nécessaire de supprimer les caractères de retour à la ligne pour nettoyer les données textuelles, en particulier lors du traitement ou de l'analyse des entrées utilisateur ou du contenu des fichiers.

La méthode .strip() supprime les espaces blancs de début et de fin, y compris les caractères de retour à la ligne. Par exemple :

text = "Hello, World!\n"
clean_text = text.strip()
print(repr(clean_text))
'Hello, World!'

Si vous ne souhaitez supprimer que les caractères de fin de ligne, utilisez .rstrip(). Dans cet exemple, .rstrip() supprime la nouvelle ligne à la fin tout en laissant intactes les nouvelles lignes de début.

text = "Hello, World!\n"
clean_text = text.rstrip()
print(repr(clean_text))
'Hello, World!'

Pour supprimer les caractères de début de ligne, utilisez .lstrip(). Par exemple :

text = "\nHello, World!"
clean_text = text.lstrip()
print(repr(clean_text))
'Hello, World!'

Ces méthodes sont particulièrement utiles pour nettoyer les données lues à partir de fichiers ou d'entrées utilisateur, où des lignes supplémentaires peuvent être présentes. Par exemple :

with open('data.txt', 'r') as file:
    lines = file.readlines()
clean_lines = [line.strip() for line in lines]
print(clean_lines)  # Prints list of lines with no leading or trailing newlines

Cet extrait de code lit les lignes d'un fichier et supprime les nouvelles lignes superflues de chaque ligne.

Devenez un scientifique ML

Améliorez vos connaissances en Python pour devenir un scientifique spécialisé dans l'apprentissage automatique.
Commencez à apprendre gratuitement

Caractères de retour à la ligne dans les opérations sur les fichiers en Python

Les caractères de retour à la ligne sont importants dans les opérations sur les fichiers, car ils influencent la manière dont le texte est écrit et lu dans les fichiers. Comprendre leur utilisation permet de s'assurer que vos données sont bien organisées et accessibles sur différentes plateformes.

Écriture et lecture de fichiers

Lors de l'écriture d'un texte dans un fichier, les caractères de retour à la ligne sont utilisés pour séparer les lignes de contenu, afin d'en faciliter la lecture et le traitement ultérieur. Contrairement à la fonction print(), les méthodes telles que write() ou writelines() n'ajoutent pas automatiquement les caractères de retour à la ligne, vous devez donc les inclure explicitement. Voici un exemple d'écriture avec des nouvelles lignes :

with open('example.txt', 'w') as file:
    file.write("First line\n")
    file.write("Second line\n")
    file.write("Third line\n")

Cela créera un fichier (example.txt) avec le contenu suivant :

First line
Second line
Third line

Lors de la lecture d'un texte à partir d'un fichier, les caractères de retour à la ligne permettent de distinguer les lignes de texte. Les méthodes telles que readlines() renvoient chaque ligne sous forme de chaîne, y compris le caractère de retour à la ligne à la fin, ce qui vous permet de traiter les lignes individuellement.

with open('example.txt', 'r') as file:
    lines = file.readlines()
for line in lines:
    print(repr(line))
'First line\n'
'Second line\n'
'Third line\n'

Chaque ligne comprend le caractère de retour à la ligne (\n) à la fin, qui peut être traité si nécessaire au cours du traitement.

Utilisation de os.linesep pour une compatibilité multiplateforme

Les systèmes d'exploitation utilisent des caractères de retour à la ligne différents : Les systèmes basés sur UNIX (comme Linux et macOS) utilisent \n, tandis que Windows utilise \r\n. Pour vous assurer que votre code gère les caractères de nouvelle ligne de manière cohérente sur toutes les plateformes, vous pouvez utiliser os.linesep du module os.

Python Newline avec os.linesep Python Newline avec os.linesep. Image par l'auteur.

 

La variable os.linesep fournit le(s) caractère(s) de retour à la ligne approprié(s) pour le système d'exploitation sur lequel votre code Python s'exécute. L'utilisation de os.linesep permet à vos opérations de fichiers d'être compatibles entre différents systèmes sans avoir à ajuster manuellement les caractères de retour à la ligne. Jetez un coup d'œil :

import os
with open('example_cross_platform.txt', 'w') as file:
    file.write(f"First line{os.linesep}")
    file.write(f"Second line{os.linesep}")
    file.write(f"Third line{os.linesep}")

Ce code utilise os.linesep pour insérer les caractères de retour à la ligne appropriés en fonction du système d'exploitation, ce qui garantit que example_cross_platform.txt est formaté correctement, qu'il soit ouvert sous Windows ou sous UNIX.

De même, lors de la lecture de fichiers, le traitement des sauts de ligne par os.linesep garantit un traitement correct des sauts de ligne, quel que soit le système d'exploitation.

import os
with open('example_cross_platform.txt', 'r') as file:
    lines = file.readlines()
for line in lines:
    print(repr(line.strip(os.linesep)))

Éléments à prendre en compte lors de la création de nouvelles lignes en Python

Examinons maintenant quelques-uns des pièges les plus courants lorsque vous travaillez avec des caractères de nouvelle ligne en Python et proposons des solutions pour vous aider.

Options de nouvelles lignes de PythonOptions de nouvelles lignes de Python. Image réalisée par l'auteur à partir d'une serviette de table

Tenir compte des performances

Si la gestion des retours à la ligne peut sembler un aspect mineur de la programmation Python, elle peut avoir des conséquences sur les performances, en particulier dans les projets de grande envergure. L'utilisation de \n directement dans les chaînes de caractères est généralement efficace, mais si vous avez besoin d'une compatibilité multiplateforme, os.linesep peut ajouter de la charge de travail. Les meilleures pratiques sont les suivantes :

  • Utiliser \n lorsque vous travaillez dans des environnements où la plateforme est connue et contrôlée.

  • Optez pour os.linesep dans des scripts et des applications conçus pour une utilisation multiplateforme.

  • Réduire au minimum les manipulations inutiles de chaînes de caractères, telles que l'utilisation fréquente de .strip() ou de rstrip() dans les codes critiques en termes de performances.

Évitez les erreurs courantes 

La manipulation des caractères de nouvelle ligne peut parfois conduire à des erreurs, en particulier pour ceux qui découvrent Python. Les problèmes les plus fréquents sont les suivants :

  • Ruptures de ligne involontaires: Si vous oubliez de supprimer ou de contrôler les caractères de retour à la ligne, vous risquez de vous retrouver avec des lignes vides dans les sorties ou les fichiers.

  • Nouvelles lignes manquantes: L'omission de \n lors de l'écriture de fichiers peut entraîner une juxtaposition de textes, ce qui rend leur lecture et leur traitement difficiles.

  • Incohérences entre plates-formes: Utiliser \n dans des scripts qui seront exécutés sur différents systèmes d'exploitation sans tenir compte de la compatibilité.

Pour éviter ces pièges, testez toujours votre code dans l'environnement où il sera utilisé, et soyez attentif à la manière dont les caractères de nouvelle ligne sont gérés. Voici un tableau complet qui présente les problèmes, leurs causes et les moyens d'y remédier :

Problématique commune

Description

Solution

Ruptures de ligne involontaires

Les caractères de retour à la ligne supplémentaires donnent lieu à des lignes blanches inattendues ou à des lacunes dans le texte.

Vérifiez deux fois l'emplacement de \n dans les cordes. Évitez les nouvelles lignes inutiles lors de la concaténation de chaînes de caractères.

Nouvelles lignes manquantes

Les textes se suivent sans être séparés par des lignes, ce qui les rend difficiles à lire ou à traiter.

Veillez à ce que \n soit inclus là où c'est nécessaire, en particulier dans les opérations sur les fichiers. Utilisez le paramètre end dans print() pour contrôler la sortie.

Incohérences entre plates-formes

Les différences entre les caractères de retour à la ligne (\n et \r\n) d'un système d'exploitation à l'autre entraînent des problèmes de formatage.

Utilisez os.linesep pour assurer la compatibilité entre les plates-formes et garantir un comportement cohérent sur tous les systèmes.

Conclusion

Dans ce guide, nous avons abordé les bases de l'incorporation de nouvelles lignes dans les chaînes et les déclarations print(), ainsi que des techniques avancées telles que l'utilisation de os.linesep pour la compatibilité multiplateforme. 

Pour améliorer encore vos compétences en Python, nous avons sélectionné pour vous des ressources supplémentaires. Si vous souhaitez approfondir vos connaissances en programmation, consultez nos cursus de compétences : Programmation Python et principes fondamentaux de Python. Lisez également notre tutoriel Comment faire un saut de ligne en Python pour comprendre un comportement différent, à savoir comment créer des sauts de ligne dans votre code sans modifier la sortie.  

Devenez un scientifique ML

Maîtriser Python pour devenir un scientifique de l'apprentissage automatique

Samuel Shaibu's photo
Author
Samuel Shaibu
LinkedIn

Professionnel expérimenté des données et écrivain passionné par l'autonomisation des experts en herbe dans le domaine des données.

Questions fréquemment posées

Puis-je utiliser d'autres caractères que \Npour couper les lignes dans Python ?

Alors que \n est la norme pour couper les lignes, vous pouvez personnaliser la fonction print() Vous pouvez personnaliser les fonctions end et sep pour utiliser d'autres caractères ou chaînes de caractères pour séparer les lignes ou les éléments.

Quelle est la meilleure pratique pour écrire du code Python compatible avec plusieurs plates-formes et impliquant des nouvelles lignes ?

La meilleure pratique consiste à utiliser os.linesep pour la gestion des retours à la ligne lorsque vous écrivez du code multiplateforme.

Sujets

Apprenez Python avec DataCamp

cours

Python Toolbox

4 hr
287.1K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus