#coding=utf-8 import os #import re # 设置编码为utf-8 否则会报错。。这时候 sublime控制台会报乱码。但是别担心,utf-8 文件 并不会报错 import sys reload(sys) sys.setdefaultencoding( "utf-8" ) #基础包名 basePackage=‘com.emark.base.注解‘ #基于基础包名的基本路径名,这里必须是unicode 打开。。。。我也不知道为何别的字符串不用这样写。。。。,其他却不用-- #或者 # basedir = unicode("****",‘utf-8‘) # decode 将编码转为utf-8 encode utf-8 转为其他编码 # 或者 basedir = u"***" 也是utf-8 编码 basedir=u"E:/emark/emark-manager/src/main/java/com/emark/base/注解" print basedir for dirPath,dirNames,fileNames in os.walk(basedir): for fileName in fileNames: start=len(basedir) end=len(dirPath) #将\ 替换成 . despackage=dirPath[start:].replace("\\",".") despackage=basePackage+despackage print despackage file = os.path.join(dirPath,fileName) lines=[] with open(file,‘r+‘) as files: lines=files.readlines() # 返回列表list with open(file,"w+") as files: for line in lines: print line if line.startswith("package"): line=‘package ‘+despackage+"\n" files.write(line)
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312‘),表示将gb2312编码的字符串str1转换成unicode编码。
encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312‘),表示将unicode编码的字符串str2转换成gb2312编码。
原文:http://www.cnblogs.com/whm-blog/p/7134509.html