'''调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。 如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:
1 #read方法
2 a=open('a.txt','r')3 try:4 line=a.read()5 ifline:6 print(line)7 finally:8 a.close()9
10 #readline方法
11 f=open('a.txt','r')12 try:13 whileTrue:14 line=f.readline()15 ifline:16 print(line)17 else:18 break
19 finally:20 f.close()21
22 #readlines方法
23 file=open('a.txt','r')24 try:25 lines=file.readlines()26 for line inlines:27 print(type(line),line)28 finally:29 file.close()30 print(lines)31
32 #with open会自动close文件
33 with open('a.txt','r') as file:34 lines=file.readlines()35 for line inlines:36 print(type(line),line)