读取文件中以 \n 结尾的行
Reading lines in a file that end with \n
当我做
f = open("test.txt","r")
s = f.readline()
l = s.split[' ']
其中输入文件的内容为2 3\n
。 s
的值为 ['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##*']
当我做
f = open("test.txt","r")
s = f.readline()
l = s.split[' ']
其中输入文件的内容为2 3\n
。 s
的值为 ['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##*']