'''調用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 if line: 6 print(line) 7 finally: 8 a.close() 9 10 #readline方法 11 f=open('a.txt','r') 12 try: 13 while True: 14 line=f.readline() 15 if line: 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 in lines: 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 in lines: 36 print(type(line),line)