读取文件中以 \n 结尾的行

Reading lines in a file that end with \n

当我做

f = open("test.txt","r")
s = f.readline()
l = s.split[' ']

其中输入文件的内容为2 3\ns 的值为 ['2', '3\n']。有没有办法告诉 python 每行都以 \n 结尾,因此它不应该读取它?

文件内容:

3 2\n
#1###2#\n
****#**\n
##*###*\n
#******\n
#*#O##*\n

其他线路我会做其他操作。但我仍然需要摆脱 \n

这里需要注意的是,除了文字 '\n' 之外,每行末尾还有一个实际的 \n (除了最后一行,它只有文字 '\n'):

with open('test.txt') as f:
    print(f.readlines())
# ['3 2\n\n', '#1###2#\n\n', '****#**\n\n', '##*###*\n\n', '#******\n\n', '#*#O##*\n']

您需要用文字 '\n' 和实际 \n 调用 .strip:

with open('test.txt') as f:
    lines = [line.strip('\n\n') for line in f]

print(lines)
# ['3 2', '#1###2#', '****#**', '##*###*', '#******', '#*#O##*']