python: line=f.readlines()消除line中\n的方法

时间:2021-05-22

测试代码

#!/ust/bin/env python3f = open("name.txt")date = f.readlines()print(date)f.close()

#结果:

#['eray\n', 'eray\n', 'bike\n']

#打印出来的带 \n ,怎么去掉\n呢?

#解决方法:
#1、

f = open("name.txt")date = f.read().splitlines()print(date)f.close()

#结果:
#['eray', 'eray', 'bike']

#2、

f = open("name.txt")date = f.readlines()#date = date.strip('\n')date = ''.join(date).strip('\n')print(date)f.close()

#结果:

eray
eray
bike

第2中,注释掉的这行
#date = date.strip('\n') #如果去掉注释,会报如下错误:

原因:

提示信息中提到list中没有strip的这种属性。而我们知道,strip是字符串的属性,说明f.readlines返回的是一个列表。所以会导致出错。

既然f.readlines()返回的是列表,而strip是字符串的属性,不难想到只要我们将f.readlines()返回的列表转换成字符串就能 用strip这个属性了。那么怎么将列表转为字符串呢?这里用的是字符串的join属性。

line = ''.join(line) #这样就将列表转换成字符串了。

第1种,直接使用字符串方法: splitlines

在如:

strip函数用法:

函数原型

声明:s为字符串,rm为要删除的字符序列

s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符

s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符

注意:

1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')

每天问问搬砖的自己,跟咸鱼有什么两样。

小编补充:

# -*- coding: utf-8 -*-# 打开文件fo = open("jb51.txt", "r")print("文件名为: ",fo.name) for line in fo.readlines(): #依次读取每行 line = line.strip() #去掉每行头尾空白 print ("读取的数据为: %s" % (line)) # 关闭文件fo.close()

line = line.strip()就是去掉每行头尾空白

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章