增加将所有cpp文件由gb2312编码改为UTF8的功能(已测试).
可以通过增删注释#的方法单独使用或全部使用
Code:
import struct,os;
from os.path import join
def main():
for root,dirs,files in os.walk("./"):
for name in files:
#clean(join(root,name));
if name.endswith('cpp'):
codeConvent(join(root,name),'gb2312','utf-8');
def clean(fileName):
f=open(fileName,"rb");
c=struct.unpack("3s", f.read(struct.calcsize("3s")));
if c==('\xef\xbb\xbf',):
f_temp=open(fileName+".temp","wb");
while 1:
line=f.readline();
if line=="":
break;
f_temp.writelines(line);
f_temp.close();
f.close();
os.remove(fileName);
os.rename(fileName+".temp", fileName);
else:
f.close();
def codeConvent(fileName,oldCode,newCode):
f=open(fileName,"r");
f_temp=open(fileName+".temp","w");
while 1:
line=f.readline();
if line=="":
break;
line=line.decode(oldCode,'ignore').encode(newCode);
f_temp.writelines(line);
f_temp.close();
f.close();
os.remove(fileName);
os.rename(fileName+".temp", fileName);
if __name__=="__main__":
main();