python编码格式改为utf8_python修改文件编码为utf-8格式

import os;

import chardet;

file_path = ".";

for root,dirs,files in os.walk(file_path):

# print("root",root)

# print("files",files)

for fn in files:

if fn[-2:] == '.h' or fn[-2:] == '.c':

bak = fn + "_bak"

f1 = open(root + "\\" + fn,"rb")

data = f1.read()

encode = chardet.detect(data).get('encoding')

f1.close()

fn = root + "\\" + fn

bak = root + "\\" + bak

if encode == "utf-8":

print(fn,"is utf-8 encoding")

continue;

with open(fn,"r",encoding=encode) as f1 ,open(bak,"w",encoding="utf-8") as f2:

for line in f1:

f2.write(line)

os.remove(fn)

os.rename(bak,fn)

你可能感兴趣的:(python编码格式改为utf8_python修改文件编码为utf-8格式)