ab520025520025 发表于 2017-4-24 10:51:42

python 每行读取文件

某些软件,如notepad,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。 因此我们在读取时需要自己去掉这些字符,python中的codecs module定义了这个常量:
$ vi readline.py                                                                                                
1 #!/usr/bin/python
2 import codecs
3
4 f = open("./Text.txt", "r");
5
6 while True:
7   line = f.readline()
8   if line[:3] == codecs.BOM_UTF8:
9         line = line
10   if line:
11          print line.decode("utf-8"),
12   else:
13         break
14
15 print
16 print
17 print
18 f.seek(0,0)
19
20 for str in f:
21   if str[:3] == codecs.BOM_UTF8:
22         str = str
23   print str.decode('utf-8'),
24
25 f.close()
页: [1]
查看完整版本: python 每行读取文件