Comment puis-je indiquer un saut de ligne dans une chaîne en Python, de sorte que je puisse écrire plusieurs lignes dans un fichier texte?
Réponse
Trop de publicités?Diverses méthodes équivalentes
Utilisation de print
print
ajoute déjà automatiquement une nouvelle ligne !
with open("out.txt", "w") as f:
print("Premier", file=f)
print("Deuxième", file=f)
De manière équivalente :
with open("out.txt", "w") as f:
print("Premier\nDeuxième", file=f)
Pour print
sans ajouter automatiquement une nouvelle ligne, utilisez sep=""
(puisque sep="\n"
est la valeur par défaut) :
with open("out.txt", "w") as f:
print("Premier\nDeuxième\n", sep="", file=f)
Utilisation de f.write
Pour les fichiers ouverts en mode texte :
with open("out.txt", "w") as f:
f.write("Premier\nDeuxième\n")
Pour les fichiers ouverts en mode binaire, les fichiers seront écrits sans traduction automatique de \n
vers le séparateur de ligne spécifique à la plateforme. Pour imposer le caractère de nouvelle ligne pour la plateforme actuelle, utilisez os.linesep
au lieu de \n
:
with open("out.txt", "wb") as f:
f.write("Premier" + os.linesep)
f.write("Deuxième" + os.linesep)
Fichier de sortie
Visuellement :
Premier
Deuxième
Sur Linux, les nouvelles lignes seront séparées par \n
:
Premier\nDeuxième\n
Sous Windows, les nouvelles lignes seront séparées par \r\n
:
Premier\r\nDeuxième\r\n
Pour éviter la traduction automatique de \n
en \r\n
pour les fichiers ouverts en mode texte, ouvrez le fichier en utilisant open("out.txt", "w", newline="\n")
.
- Réponses précédentes
- Plus de réponses