首页 > 解决方案 > 读取文件中以 \n 结尾的行

问题描述

当我做

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

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

文件内容:

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

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

标签: pythonfileionewline

解决方案


这里需要注意的是,除了文字之外,每行末尾'\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##*']

推荐阅读