150 votes

write() versus writelines() et chaînes concaténées

J'apprends donc Python. Je suis en train de parcourir les leçons et je me suis heurté à un problème où je devais condenser un grand nombre de target.write() en un seul write() tout en ayant un "\n" entre chaque variable d'entrée de l'utilisateur (l'objet de write() ).

Je suis venu avec :

nl = "\n"
lines = line1, nl, line2, nl, line3, nl
textdoc.writelines(lines)

Si j'essaie de le faire :

textdoc.write(lines)

Je reçois une erreur. Mais si je tape :

textdoc.write(line1 + "\n" + line2 + ....)

Ensuite, tout fonctionne bien. Pourquoi ne puis-je pas utiliser une chaîne de caractères à la place d'un saut de ligne dans le fichier write() mais je peux l'utiliser dans writelines() ?

Python 2.7

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X