在我们使用python打开或者读取txt文件时,我们经常会用到read()/readline()/readlines()三种方法,首先我们贴出结论,即三种方法的异同。
方法 | 类型 | 返回文本 |
---|---|---|
read() | str | 以原格式返回全部文本 |
readline() | str | 只返回第一行文本 |
readlines() | list | 以列表的格式返回全部文本,文本的第几行对应列表的第几个元素 |
接下来,我们详细说明这三种方法的区别。
本文中,我们使用的txt文本如下:
注意,在使用open打开txt文件后,一定要使用close将其关闭。大家可以尝试一下,如果在open之后没有执行close,这时要删除文件会发生什么。
read()
f1 = open(r'C:\Users\Mr.Reliable\Desktop\示例.txt','r')
A = f1.read()
f1.close()
print(A)
'''结果
Life is short!
I choose python!
With great power, comes great responsibility
'''
type(A) #结果:str
A[0] #结果:'L'
使用read得到的结果,和直接打开txt文件的结果和格式是一样的,得到的文本类型是"str"。
当我们希望得到最直观的结果或者直接对txt中的文本进行操作时,使用read比较合适。
readline()
f2 = open(r'C:\Users\Mr.Reliable\Desktop\示例.txt','r')
B = f2.readlines()
f2.close()
print(B)
'''结果:Life is short!'''
type(B) #结果:str
使用readline得到的结果只读取了txt文件中的第一行,得到的结果类型为str。
readlines()
f3 = open(r'C:\Users\Mr.Reliable\Desktop\示例.txt','r')
C = f3.readlines()
f3.close()
print(C)
'''结果:
['Life is short!\n', '\n', 'I choose python!\n', '\n', 'With great power, comes great responsibility\n', '\n', '\n']'''
type(C) #结果:list
C[0] #结果:'Life is short!\n'
readlines得到的结果是逐行读取txt文件,并将每一行储存为list中的一个元素。第一行对应list中的第一个元素,第二行对应list中的第二个元素…
当我们需要对txt文件逐行处理操作的时候,采用readlines是比较合理的。