为什么文本行之间存在差距?

时间:2017-08-17 08:25:45

标签: python python-3.x

我无法弄清楚为什么在运行此代码时每行文本之间有一个空格:

file = open("Children.txt", 'a')
    file.write("\n" + childName)
    file.close()

    file = open("Children.txt", 'r')
    lineList = file.readlines()
    sorted(lineList)
    print("List of children's names in alphabetical order:")
    for line in lineList:
        print(line)
    file.close()

每行之间的空格仅在我使用sorted()函数时出现。如果我不在代码中包含它并只使用print(文件)函数,则结果显示文本行之间没有空格。但是我需要按字母顺序显示结果,这就是我使用sorted()函数的原因。

1 个答案:

答案 0 :(得分:4)

读取文件时,

f.readlines()不会删除尾随换行符。您的列表项将包含一个打印出来的尾随换行符。顺便提一下,print 在输入结尾处添加换行符,这意味着每行都会打印两个换行符。

您可以通过剥离换行符或print使用end=""来更改此内容:

for line in lineList: 
    print(line.rstrip())  # or print(line, end="")

此外,sorted不是一个就地功能。如果您想要就地排序,请致电.sort()

lineList.sort()