我已经学习了几天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
我希望你理解我的问题(这可能是我错过的一些愚蠢的错误)。谢谢。
答案 0 :(得分:0)
readline
不会删除行尾的换行符。您不需要在格式字符串中添加其他换行符。
答案 1 :(得分:0)
\n
会插入一个新行。在最后打印的字符串中的每个变量之前都有一个。文件中每行末尾都有一个\n
,所以它会在它们之间打印一条额外的行。