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

时间:2019-04-02 08:45:33

标签: python file io newline

当我这样做

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

1 个答案:

答案 0 :(得分:1)

这里需要说明的是,除了文字'\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']

您需要同时使用文字.strip和实际'\n'来调用\n

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

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