zoukankan      html  css  js  c++  java
  • 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+"
    "
                    files.write(line)

    decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 

    encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。 

    r"E:whmjava项目中科电谷项目zkdg-utilssrcmainjavaorgzkdgutilsueditor".decode('utf-8')  u 和 r 不要一起用,反正,ur 这样写。。我报错了--

  • 相关阅读:
    思科、华为交换机链路聚合(LACP)配置实例
    华为交换机如何批量配置端口
    接口配置stp disable和配置stp edgedport enable有何区别
    上一篇下一篇文章链接添加TITLE属性
    GitHub打不开解决办法
    华为交换机和思科交换机生成树协议对接/替换方案
    vue中key的作用
    网络模块封装
    Typora+PicGo+LskyPro打造舒适写作环境
    C++ 类的静态成员
  • 原文地址:https://www.cnblogs.com/whm-blog/p/7134509.html
Copyright © 2011-2022 走看看