3

'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$ 
4

3 回答 3

4

这是标准行为,afaik。您可以改用 sys.output.write,或者您可以设置 sys.output.softspace=False 以防止换行。

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

于 2013-07-28T20:01:32.617 回答
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='')
于 2013-07-28T20:39:41.080 回答
1
from __future__ import print_function

for line in f:
    print(line, end="")
于 2013-07-28T20:50:47.827 回答