python逐行取出文件中的字符串后去除行末的换行符

使用f=open('file_name.txt','r')f_list=f.readlines()print(f_list)输出结果是['aaaaaaa\n','bbbb... 使用
f = open('file_name.txt','r')
f_list = f.readlines()
print(f_list)
输出结果是
['aaaaaaa\n', 'bbbbbbb\n']

可以看到成功取出了每一行并生成了列表,可是没一行的末尾都会有换行符。
百度到的方法是

for line in file.readlines():

line=line.strip('\n')
可是print之后的结果是bbbbbbb也就是说line中只保留了最后一行啊?
请问如何保留列表结构的同时去除每一行的换行符呢?
展开
 我来答
sylecn
2015-11-26 · TA获得超过2991个赞
知道大有可为答主
回答量:1169
采纳率:57%
帮助的人:710万
展开全部

print加错地方了吧。应该是加在for里面:

for line in file.readlines():
    line = line.strip('\n')
    print line

如果不使用for循环,也可以直接改列表:

f = open('file_name.txt','r')
f_list = [line.strip('\n') for line in f.readlines()]
print(f_list)
追问
我是需要保留line的列表结构,因为其他地方需要提供一个列表的。
第一种方法line并不是列表了呀,跟print没关系的 print只是测试的时候用的

第二种方法可行,也非常感谢!
追答

第一种如果要list结果,是这样写:

lines = []
for line in file.readlines():
    lines.append(line.strip('\n'))
print(lines)
我心我在
推荐于2016-08-03 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:631万
展开全部
list_tmp=[]
f = open('file_name.txt','r')
for i in f.readlines():
    list_tmp.append(i.strip())
f.close()
print list_tmp 
还有换行符?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式