python 批量修改包名

#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编码。 

 

r"E:\whm\java项目\中科电谷项目\zkdg-utils\src\main\java\org\zkdg\utils\ueditor".decode('utf-8')  u 和 r 不要一起用,反正,ur 这样写。。我报错了--

posted on 2017-07-07 23:30  正义的伙伴!  阅读(549)  评论(0编辑  收藏  举报

导航

//增加一段JS脚本,为目录生成使用