>>> import sys
>>> outf = sys.stdout
>>> for c in "abcd":
... outf.write(c)
... else:
... outf.write('\n')
...
abcd
>>>
вообще без print
а вот для 3.x
>>> import sys
>>> outf = sys.stdout
>>> for c in "abcd":
... outf.write(c)
... else:
... outf.write('\n')
...
a1
b1
c1
d1
1
>>> for c in "abcd":
... outf.write(c)
...
a1
b1
c1
d1
>>>
цифры - количества байт
в интерпретаторе выводит так, а через скрипт выводит нормально и без цифр
[guest@station tmp]$ cat f.py
import sys
outf = sys.stdout
for c in "abcd":
outf.write(c)
else:
outf.write('\n')
[guest@station tmp]$ python3 f.py
abcd
[guest@station tmp]$
без print получается переносимая версия для питонов 2.x и 3.x
ну, конечно, эта штука вся нужна в питоне 2.x, так как у него print не такая гибкая, как в 3.x