本文实例讲述了Python3读取文件常用方法。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
''''' Created on Dec 17, 2012 读取文件 @author: liury_lab ''' # 最方便的方法是一次性读取文件中的所有内容放到一个大字符串中: all_the_text = open ( 'd:/text.txt' ).read() print (all_the_text) all_the_data = open ( 'd:/data.txt' , 'rb' ).read() print (all_the_data) # 更规范的方法 file_object = open ( 'd:/text.txt' ) try : all_the_text = file_object.read() print (all_the_text) finally : file_object.close() # 下面的方法每行后面有‘\n' file_object = open ( 'd:/text.txt' ) try : all_the_text = file_object.readlines() print (all_the_text) finally : file_object.close() # 三句都可将末尾的'\n'去掉 file_object = open ( 'd:/text.txt' ) try : #all_the_text = file_object.read().splitlines() #all_the_text = file_object.read().split('\n') all_the_text = [L.rstrip( '\n' ) for L in file_object] print (all_the_text) finally : file_object.close() # 逐行读 file_object = open ( 'd:/text.txt' ) try : for line in file_object: print (line, end = '') finally : file_object.close() # 每次读取文件的一部分 def read_file_by_chunks(file_name, chunk_size = 100 ): file_object = open (file_name, 'rb' ) while True : chunk = file_object.read(chunk_size) if not chunk: break yield chunk file_object.close() for chunk in read_file_by_chunks( 'd:/data.txt' , 4 ): print (chunk) |
输出如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
hello python hello world b 'ABCDEFG\r\nHELLO\r\nhello' hello python hello world [ 'hello python\n' , 'hello world' ] [ 'hello python' , 'hello world' ] hello python hello worldb 'ABCD' b 'EFG\r' b '\nHEL' b 'LO\r\n' b 'hell' b 'o' |
希望本文所述对大家的Python程序设计有所帮助。