python改变文件的编码格式

1 def change_file_code(coding,files_name):
2     try:
3         cache_data = linecache.getlines(files_name)
4         with open(files_name, 'wb') as out_file:
5             for line in range(len(cache_data)):
6                 out_file.write(cache_data[line].encode(coding))
7     except Exception as e:
8         print(str(e))

由于文件涉及到windows的 CRLF 以及unix的LF问题,使用rb+会导致修改过的文件存在数据换行错误问题,使用wb则不会出现这样情况。具体原因待考证。

注:不建议使用此处的linecache 。使用linecache须在文件头注明文件编码格式:coding = utf-8

posted @ 2019-06-05 15:26  Sagacity_shen  阅读(4953)  评论(0编辑  收藏  举报