You probably did not read my posting completely.
I have added a comma after the print statement and mentioned
a comment specifically on this.
The 'print line,' statement with a comma after it does not print
a newline which you also call as line terminator whereas
the 'print' without a comma at the end does just that.
No wonder python sometimes feels like high-level psuedocode

It has that ultra intuitive feel for most of its tricks.
In this case, the comma is usually put when you have more than
one item to print, and python puts a newline after all items.
So it very intuitively follows that just putting a comma will not
print a newline! It is better than telling the programmer to use
another print function to avoid newlines, which you find in many
other 'un-pythonic' languages.
-Anand
Klaus Alexander Seistrup <> wrote in message news:<3f86e96c-da7dc89b-addc-47d2-82cf->...
> Anand Pillai wrote:
>
> > Here is the complete code.
> >
> > import re
> >
> > empty=re.compile('^$')
> > for line in open('test.txt').readlines():
> > if empty.match(line):
> > continue
> > else:
> > print line,
>
> The .readlines() method retains any line terminators, and using the
> builtin print will suffix an extra line terminator to every line,
> thus effectively producing an empty line for every non-empty line.
> You'd want to use e.g. sys.stdout.write() instead of print.
>
>
> // Klaus