以文件somefile.txt
为例,内容如下:123AAABBBCCC
通常来讲,我们如果只是迭代文件对象每一行,并做一些处理,是不需要将文件对象转成列表的,因为文件对象本身可迭代,而且是按行迭代:123with open('somefile.txt') as f: for line in f: print(line, end='')
输出结果:123AAABBBCCC
但如果有什么特别目的,要将文件内容按行转成列表,方法如下。
不去掉行尾的换行符
|
|
或是:12with open('somefile.txt') as f: content = f.readlines()
其中,content结果都是没有去掉每一行行尾的换行符的(somefile.txt文件中最后一行本来就没有换行符):1['AAA\n', 'BBB\n', 'CCC']
去掉行尾的换行符
|
|
或是:12with open('somefile.txt') as f: content = [line.rstrip('\n') for line in f]
其中,content结果都是去掉每一行行尾的换行符的:1['AAA', 'BBB', 'CCC']
如果,不仅要去掉行尾的换行符,每一行的行首行尾空白字符都要去掉,方法如下:12with open('somefile.txt') as f: content = [line.strip() for line in f]