尽管有逗号,python print语句打印换行符

时间:2013-07-28 19:52:40

标签: python

'2.6.5(r265:79063,2010年4月16日,13:57:41)\ n [GCC 4.4.3]'

我有这个

#! /usr/bin/env python

f = open('filetest', 'w')
f.write("This is a line")

f.close()

f = open('filetest', 'r')


for i in f.readlines():
    print i,

这样打印o / p:

$ ./filetest.py 
This is a line
abc@abc-ubuntu:~/pythonpractice$

我想知道为什么在打印“这是一条线”之后,提示会转到换行符? 因为cat filestest给出了这个:

$ cat filetest
This is a lineabc@abc-ubuntu:~/pythonpractice$ 

3 个答案:

答案 0 :(得分:4)

这是标准行为,afaik。您可以改为使用sys.output.write,也可以 set sys.output.softspace = False以防止换行。

有关详细信息,请参阅此文章:http://code.activestate.com/lists/python-list/419182/

答案 1 :(得分:1)

或者您也可以使用:

#! /usr/bin/env python
from __future__ import print_function

with open('filetest', 'w') as f1:
    f1.write("This is a line")

with open('filetest', 'r') as f2:
    for line in f2.readlines():
        print(line, end='')

答案 2 :(得分:1)

from __future__ import print_function

for line in f:
    print(line, end="")