python按行读取文件,如何去掉换行符"\n

如题所述

1、打开需要修改的文件代码。

2、因为有中文的缘故,strip(),rstrip(),strip('\n')等等都会丢失数据。

3、改用replace函数。先看看这里的换行符到底是哪个,是‘\n’。

4、替换。注意这里把‘\n’替换成了‘ ’(空格)。成功。

5、注意这里的split函数,设置了‘ ’空格来分离,而且设置了分离的次数。如果直接使用纯粹的split()函数,结果是不正确的,部分中文信息丢失。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-23

说明:

python按行读取文件直接使用for in open方式即可,去除'\n',可以使用两种方法,一种是替换函数:replace('\n','')把换行符替换成空;一种是去除空白字符函数:rstrip('\n')就是把字符串末尾指定字符删除,这里删除换行符('\n')。

代码:

方法1:

for line in open('要打开的文件名', 'r'):  # 打开文件
    rs = line.replace('\n', '')  # 替换换行符
    print(rs)  # 显示替换后的行

方法2:

for line in open('要打开的文件名', 'r'):  #打开文件
    rs = line.rstrip('\n')  # 移除行尾换行符
    print(rs)  # 输出移除后的行

函数说明:

replace(...)

S.replace(old, new[, count]) -> str    
    返回S出现的所有old子串的换成new子串的字符串。如果可选参数count指定,只有第一计数出现被替换。

rstrip(...)
    S.rstrip([chars]) -> str

返回字符串S结尾去掉空格的副本。如果参数字符给出,则只删除指定字符,而不是空格。

本回答被网友采纳
第2个回答  推荐于2017-12-15
换行符与其他字符并没有区别

由于换行符总是最后一个字符,所有直接选择除去最后一个字符的所有字符即可
x = 'abc\n'
x[:-1]
也可以使用字符串的strip方法
但是strip方法除了会去掉换行符还会去掉空格等其他字符
x.strip()本回答被提问者采纳
第3个回答  2016-05-28
line = line.strip('\n\r')