readline 插入了意外的 space
Unexpected space inserted by readline
我在尝试读取和打印两个文件中的行时遇到问题。
这些文件相似,但总是在打印的第二行中插入 space。
我的档案里当然没有。
file1 = open("compare1", "r")
file2 = open("compare2", "r")
while 1:
line1 = file1.readline()
line2 = file2.readline()
if line1 == "" or line2 == "":
break
print(line1, line2)
file1.close()
file2.close()
结果如下:
Salut je m'appelle Yohan
Salut je m'appelle Yohan
Je suis très content
Je suis très content
在 with
块中打开文件会产生相同的结果。
预期的结果是
Salut je m'appelle Yohan
Salut je m'appelle Yohan
Je suis très content
Je suis très content
你知道我该如何解决这个问题吗?
文本文件中的每一行隐含地以换行符结尾 (\n
)。当您打印出 line1
和 line2
时,它实际上变成了:
Salut je m'appelle Yohan\n Salut je m'appelle Yohan
输出为
Salut je m'appelle Yohan
Salut je m'appelle Yohan
要解决此问题,只需将 strip
添加到 readline
调用的末尾即可
line1 = file1.readline().strip()
line2 = file2.readline().strip()
print(line1, line2, sep='\n')
>>> Salut je m'appelle Yohan
>>> Salut je m'appelle Yohan
我在尝试读取和打印两个文件中的行时遇到问题。 这些文件相似,但总是在打印的第二行中插入 space。 我的档案里当然没有。
file1 = open("compare1", "r")
file2 = open("compare2", "r")
while 1:
line1 = file1.readline()
line2 = file2.readline()
if line1 == "" or line2 == "":
break
print(line1, line2)
file1.close()
file2.close()
结果如下:
Salut je m'appelle Yohan Salut je m'appelle Yohan Je suis très content Je suis très content
在 with
块中打开文件会产生相同的结果。
预期的结果是
Salut je m'appelle Yohan Salut je m'appelle Yohan Je suis très content Je suis très content
你知道我该如何解决这个问题吗?
文本文件中的每一行隐含地以换行符结尾 (\n
)。当您打印出 line1
和 line2
时,它实际上变成了:
Salut je m'appelle Yohan\n Salut je m'appelle Yohan
输出为
Salut je m'appelle Yohan
Salut je m'appelle Yohan
要解决此问题,只需将 strip
添加到 readline
调用的末尾即可
line1 = file1.readline().strip()
line2 = file2.readline().strip()
print(line1, line2, sep='\n')
>>> Salut je m'appelle Yohan
>>> Salut je m'appelle Yohan