Issue
So I'm learning Python. I am going through the lessons and ran into a problem where I had to condense a great many target.write()
into a single write()
, while having a "\n"
between each user input variable(the object of write()
).
I came up with:
nl = "\n"
lines = line1, nl, line2, nl, line3, nl
textdoc.writelines(lines)
If I try to do:
textdoc.write(lines)
I get an error. But if I type:
textdoc.write(line1 + "\n" + line2 + ....)
Then it works fine. Why am I unable to use a string for a newline in write()
but I can use it in writelines()
?
Python 2.7
Solution
writelines
expects an iterable of stringswrite
expects a single string.
line1 + "\n" + line2
merges those strings together into a single string before passing it to write
.
Note that if you have many lines, you may want to use "\n".join(list_of_lines)
.
Answered By - DGH
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.