Python readline输出始终在打印的文本之间留出空白

时间:2014-01-21 21:26:54

标签: python

我已经学习了几天Python(以前从未学过编程),我正在阅读学习Python的艰难之路。我目前正在参加练习16,而我正在尝试一点但我需要的帮助不大。当我执行脚本并写入要求的所有三行时,它会先读取输入的两行,当它们读取行时,它们之间会有空格。这是脚本:

from sys import argv

script ,  filename= argv

print "Opening the file..."
target = open(filename, 'w')

print "Now I'm going to ask you for three lines."

line1 = raw_input("line 1: ")  # first input
line2 = raw_input("line 2: ")  # second input
line3 = raw_input("line 3: ")  # third input

print "I'm going to write them down and read them later."

target.write(line1 + "\n" + line2 + "\n" + line3)

target.close()

krc = open(filename , "r")
print "Reading the lines now \n%s \n%s" % (krc.readline() , krc.readline())

输出如下:

Reading the lines now
line1
    #<<<< Why is this blank space here?#
line2

我希望你理解我的问题(这可能是我错过的一些愚蠢的错误)。谢谢。

2 个答案:

答案 0 :(得分:0)

readline不会删除行尾的换行符。您不需要在格式字符串中添加其他换行符。

答案 1 :(得分:0)

\n会插入一个新行。在最后打印的字符串中的每个变量之前都有一个。文件中每行末尾都有一个\n,所以它会在它们之间打印一条额外的行。