设为首页 收藏本站
查看: 716|回复: 0

[经验分享] python 遍历所有文件,修改文件内的内容

[复制链接]

尚未签到

发表于 2018-8-12 10:16:10 | 显示全部楼层 |阅读模式
__author__ = 'Administrator'  
import os
  
import shutil
  

  

  
class CFileOperator(object):
  
    def __init__(self):
  
        self._m_FilePath = os.getcwd()
  
        self._m_FileContent = []
  
        self._m_sError = ""
  

  

  
    def GetFileContent(self, filepath="", filecontent=[]):
  

  
        if not self.IsFileExit(filepath):
  
            self._m_sError = "File Path is not exit %s" % filepath
  
            return False
  
        openFile = open(filepath, 'r')
  
        try:
  
            for line in openFile:
  
                filecontent.append(line)
  
        finally:
  
            openFile.close()
  
        return True
  

  
    def WriteFileContet(self, filepath="", filecontent=[], isAdd=True):
  
        if not self.IsFileExit(filepath):
  
            dirpath = filepath[0:filepath.rfind("/")]
  
            if not self.ISDirExit(dirpath):
  
                self.CreateDir(dirpath)
  
        if (True == isAdd):
  
            openfile = open(filepath, "a")
  
        else:
  
            openfile = open(filepath, 'w')
  
        try:
  
            openfile.writelines(filecontent)
  
        finally:
  
            openfile.close()
  

  
    def ListFile(self, filepath="", result=[]):
  

  
        FileName = []
  
        self.GetCurrentDirAndFilePath(filepath, FileName)
  
        for file in FileName:
  
            if file == "." or file == "..":
  
                continue
  
            else:
  
                newfile = filepath + "/" + file
  
                if self.ISDirExit(newfile):
  
                    self.ListFile(newfile, result)
  
                else:
  
                    result.append(newfile)
  
        return result
  

  
    def GetCurrentDirAndFilePath(self, path="", content=[]):
  

  
        if not self.ISDirExit(path):
  
            self._m_sError = "the file dir is not exit %s" % path
  
            return False
  
        content.extend(os.listdir(path))
  
        return True
  

  
    def GetCurrentFilePath(self, path="", content=[]):
  

  
        if not self.ISDirExit(path):
  
            self._m_sError = "the file dir is not exit %s" % path
  
            return False
  

  
        DirFilecontent = os.listdir(path)
  
        for elem in DirFilecontent:
  
            if self.IsFileExit(path + "/" + elem):
  
                content.append(elem)
  
        return True
  

  
    def CreateDir(self, filepaht):
  
        os.makedirs(filepaht)
  

  
    def RmDir(self, filepath):
  

  
        if self.ISDirExit(filepath):
  
            shutil.rmtree(filepath)
  

  
    def IsFileExit(self, filepath):
  

  
        return os.path.isfile(filepath)
  

  
    def ISDirExit(self, DirPath):
  

  
        return os.path.isdir(DirPath)
  

  
    def TarFile(self, filepath):
  
        os.chdir(filepath[0:filepath.rfind("/")])
  
        command = "tar -cvf ." + filepath[filepath.rfind("/"):len(filepath)] + \
  
                  ".tar" + " ." + filepath[filepath.rfind("/"):len(filepath)]
  
        os.chdir(self._m_FilePath)
  
        print command
  
        os.system(command)
  

  
    def UNtarFile(self, filepath):
  
        command = "tar -xvf " + filepath
  
        print command
  
        os.system(command)
  

  
    def GetError(self):
  

  
        return self._m_sError
  

  

  
def modefycpp(elem):
  
    cCFileOperator = CFileOperator()
  
    content = []
  
    cCFileOperator.GetFileContent(elem, content)
  
    for index in range(len(content)):
  
        if str(content[index]).find("CCAssert") != -1:
  
            line = "//" + str(content[index])
  
            content[index] = line
  
    cCFileOperator.WriteFileContet(elem, content, False)
  

  

  
if __name__ == "__main__":
  

  
    cCFileOperator = CFileOperator()
  
    result = []
  
    cCFileOperator.ListFile("D:\cocos2dx\cocos2d-x-2.2.1", result)
  
    cppfile = []
  
    for elem in result:
  
        if str(elem).endswith(".cpp"):
  
            modefycpp(elem)
  
            # else:
  
            #   print elem

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-550504-1-1.html 上篇帖子: 用python获取MAC地址和IP地址 下篇帖子: Python里关于try语句的一点心得
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表