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

使用
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中只保留了最后一行啊?
请问如何保留列表结构的同时去除每一行的换行符呢?

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)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-03
list_tmp=[]
f = open('file_name.txt','r')
for i in f.readlines():
    list_tmp.append(i.strip())
f.close()
print list_tmp 
还有换行符?

本回答被提问者采纳
相似回答