原标题:在Python中,如何去除行末的换行符?

在python中读取文件时,如何去除行末的换行符?以及在Windows与Linux中的区别?

一、去除换行符

以使用readline进行读取为例:

import re
data =[]
f = open("data.txt", "r")
line = f.readline() # 读取一行文件,包括换行符
# liine = line[:-1] # 去掉换行符(方法1)
#line = re.sub('\n','',line) #方法2
line = line.strip() #方法3
data.append(line)
while line: # 直到读取完文件
line = f.readline()
# line = line[:-1]
#line = re.sub('\n','',line)
line = line.strip()
if line != '':
data.append(line)
f.close()
print(data)

二、在Windows与Linux中的区别

2.1 windows

在window中,只要按照上面的代码即可去除换行符,即“\n”会直接被去掉,如下:

没有去掉换行符时:

python 去除括号 python 去除\n_Windows


去掉换行符后:

python 去除括号 python 去除\n_Windows_02


2.2.Linux

在Linux中,若直接去掉换行符(方法1与方法2),“\n”不会直接被去掉,而是会被‘\r’(回车符)代替,如下:

python 去除括号 python 去除\n_换行符_03


当然此时若再使用 strip() 也可以将 ‘\r’ 去除。

如果使用方法3,即用strip(),则可以去除:

python 去除括号 python 去除\n_回车符_04


所以建议使用方法3去除换行符。