Suppress linebreak on file.write
file, line-breaks, python
Solution
`file.write()` does not add any newlines if the string you write does not contain any `\n`s.
But you force a newline for each word in your word list using `out.write("\n")`, is that what you want?
for doc,wc in wordcounts.items():
out.write(doc) #this works fine, no linebreak
for word in wordlist:
if word in wc: out.write("\t%d" % wc[word]) #linebreaks appear
else: out.write("\t0") #after each of these
out.write("\n") #<--- NEWLINE ON EACH ITERATION!
Perhaps you indented `out.write("\n")` too far???
Problem
When writing to a text file, some of the file.write instances are followed by a linebreak in the output file and others aren't. I don't want linebreaks except where I tell them to occur. Code: ``` for doc,wc in wordcounts.items(): out.write(doc) #this works fine, no linebreak for word in wordlist: if word in wc: out.write("\t%d" % wc[word]) #linebreaks appear else: out.write("\t0") #after each of these out.write("\n") #this line had mixed spaces/tabs ``` What am I missing? Update I should have taken a clue from how the code pasted into SO. For some reason there was a mixture of spaces and tabs in the final line, such that in TextMate it visually appeared outside the "for word..." loop—but the interpreter was treating it as part of that loop. Converting spaces to tabs solved the problem. Thanks for your input.