当我运行此代码时,我看到了新行。
我通过添加rCourse.split()
而非rCourse
来解决此问题
但我仍然对为什么打印新线感到好奇?
test.py
f = open('/home/test.txt', 'r')
print "oldCourses are:"
for rCourse in f:
print rCourse
的test.txt
course1
course2
course3
adsfgsdg
sdgsfdg
sfbvfsbv
fbf
oldOutput
course1
course2
course3
adsfgsdg
sdgsfdg
sfbvfsbv
fbf
fsbf
答案 0 :(得分:4)
因为你的行以' \ n'结尾。字符和print
添加了另一个' \ n'。
有多种方法可以解决这个问题。我喜欢使用Python 3 print
函数。
from __future__ import print_function
f = open('test.txt', 'r')
print("oldCourses are:")
for rCourse in f:
print(rCourse, end='')
答案 1 :(得分:2)
假设您有此文本文件:
$ cat test.txt
Line 1
Line 2
Line 3
Line 4
如果你打开它并逐行阅读和打印,你会得到两行\n
;一个在文件的每一行中,一个默认放在那里print
:
>>> with open("test.txt") as f:
... for line in f:
... print line
...
Line 1
Line 2
Line 3
Line 4
有很多方法可以解决这个问题。
您可以使用.rstrip()
删除\n
:
>>> with open("test.txt") as f:
... for line in f:
... print line.rstrip()
...
Line 1
Line 2
Line 3
Line 4
您可以使用,
来取消自动\n
:
>>> with open("test.txt") as f:
... for line in f:
... print line,
...
Line 1
Line 2
Line 3
Line 4
在Python 3.x中使用print function,它也可以在Python 2中导入。
干杯!