zoukankan      html  css  js  c++  java
  • python 替换 文件夹下的 文件名称 及 文件内容

    示例效果:

    1.替换某文件夹下的 文件夹及子文件夹 的名称 由OldStrDir 变为 NewStrDir;

    2.替换某文件夹下的 文件夹及子文件夹 下 所有的文件的名称 由OldStrFile 变为 NewStrFile;

    3.替换某文件夹下的 文件夹及子文件夹 下 所有的文件的内容 由OldStrContent 变为 NewStrContent;

    相应代码:

    # -*- coding: UTF-8 -*-
    
    import os
    import re
    
    #replace dir name
    def replaceDirName(rootDir,oldStr,newStr):
        for parent,dirNames,fileNames in os.walk(rootDir,topdown=False):
            for dirName in dirNames:
                if oldStr in dirName:
                    dirNameOld = os.path.join(parent,dirName)
                    dirNameNew = os.path.join(parent,dirName.replace(oldStr,newStr))
                    print(dirNameOld  + ' --> ' +  dirNameNew)
                    os.rename(dirNameOld,dirNameNew)
                
                
    #replace file name
    def replaceFileName(rootDir,oldStr,newStr):
        for parent,dirNames,fileNames in os.walk(rootDir):
            for fileName in fileNames:
                if oldStr in fileName:
                    fileNameOld = os.path.join(parent,fileName)
                    fileNameNew =  os.path.join(parent,fileName.replace(oldStr,newStr))
                    print(fileNameOld  + ' --> ' +  fileNameNew)
                    os.rename(fileNameOld,fileNameNew)
                
    #replace file content name
    def replaceFileContent(rootDir,oldStr,newStr):
        for parent,dirNames,fileNames in os.walk(rootDir):
            for fileName in fileNames:
                fileObj = os.path.join(parent,fileName)
                f = open(fileObj,'r+')
                all_the_lines=f.readlines()
                f.seek(0)
                f.truncate()
                for line in all_the_lines:
                    f.write(line.replace(oldStr,newStr))    
                f.close()  
    
    
    def main():
        rootDir = "D:/D"
        oldStr = "CustomerType"
        newStr = "CustomerAttr"
    
        replaceDirName(rootDir,oldStr,newStr)
        replaceFileName(rootDir,oldStr,newStr)
        replaceFileContent(rootDir,oldStr,newStr)
    
    if __name__=='__main__':
        main()
  • 相关阅读:
    英文谚语:Take that with a grain of salt
    Unity2017五子棋大战_人机_双人_UNET联网
    attenuation
    solo
    decay
    什么是PCM?它和.wav文件是什么关系?
    C++中 top()与pop()
    unity项目开发必备插件Asset Hunter 2(资源猎人2)
    unity中Camera.ScreenToWorldPoint
    自动化安装SQLSERVER和SQLSERVER补丁 转
  • 原文地址:https://www.cnblogs.com/freeliver54/p/6223094.html
Copyright © 2011-2022 走看看