1 #encoding:utf-8 2 import os 3 4 dir = r'c:UsersmlxyworkspaceProjectsrc' 5 6 def fetchFileRecursively(dir, fileExt): 7 ''' 递归获取路径下所有指定扩展名的文件的绝对路径作为列表返回。''' 8 result = [] 9 10 files = os.listdir(dir) 11 12 for i in files: 13 # 拼完整路径。 14 file = os.path.join(dir, i) 15 16 if os.path.isdir(file): 17 result.extend(fetchFileRecursively(file, fileExt)) 18 elif os.path.isfile(file): 19 if i.endswith(fileExt): 20 result.append(file) 21 22 return result 23 24 25 if __name__ == '__main__': 26 javas = fetchFileRecursively(dir, 'java') 27 28 with open('result.txt', 'w') as f: 29 for i in javas: 30 with open(i, 'r') as file: 31 f.write(file.read()) 32 33 print 'Done.'
嗯……
有一个复制来的代码文件,它实际上是GBK的。
然后把它硬转成了UTF8,于是里面一段中文注释就乱码了。
但是因为是注释,结果就没报错,于是就没发现。
然后把这段乱码和其他的文件一起写出就全乱码了。
差不多就是这样……
总之现在没问题了。
话说我每次字符编码问题到最后也都解决了……
我是不是该开个字符编码的分类了……