本篇博文主要针对的是读取一个目录中所有的文件问题。同时,每个文件中的编码是未知的,并且是不同的。
思路:
- 先获得文件所在的目录地址以及目录下所有文件的名称
- 对于编码问题,先自定义一个常见编码集合
- 一个个的去遍历文件名以及去遍历编码集合
# 相关模块
import codecs
import os
# 文件路径
path='/Users/joananjin/Desktop/answer/C11-Space/'
# 获得文件名称
filenames=os.listdir(path)
# 定义编码集合
decode_list=['utf-8','gb2312','gb18030','gbk','ISO-8859-2','Error']
# 遍历文件
for file in filenames:
for k in decode_list:
try:
file_con=codecs.open(path+'/'+file,'r',k)
file_content=file_con.read()
print 'open file'+k
print path+'/'+file
break
except:
if k=='Error':
raise Exception('have no way')
continue
print 'done!'
s.append(file_content)
print s[0]