由于給客戶的發布版本上客戶改動了些代碼和圖片,我們這邊給他們更新publish都是增量更新(開發提供更新指定的文件,我們提取出來給客戶進行覆蓋更新),但有時需要更新的文件較多導致不得不一個一個的進行查找、替換,工作量大而且容易出錯。所以用python寫個保留pulish后目錄的指定文件、刪除其他文件的功能。
代碼如下:
 代碼如下:
 import os
 import os.path
 
 def DeleteFiles(path,fileList):
     for parent,dirnames,filenames in os.walk(path):
 
         FullPathList = []
         DestPathList = []
 
         for x in fileList:
             DestPath = path + x
             DestPathList.append(DestPath)
 
 
         for filename in filenames:                   
             FullPath = os.path.join(parent,filename)
             FullPathList.append(FullPath)
 
 
         for xlist in FullPathList:
             if xlist not in DestPathList:
                 os.remove(xlist)
代碼解釋:
  1、for parent,dirnames,filenames in os.walk(path): 該for循環用于遍歷指定path的父文件夾、文件夾名(不含目錄)、文件名
  2、 
 代碼如下:
        for x in fileList:
            DestPath = path + x
            DestPathList.append(DestPath)
    該方法兩個參數分別是path,filelist。path用來指定publish文件的存放目錄,例如:'D:/publish',filelist通過list存放你希望保留的文件及該文件路徑,例如:
  [r'/1.txt',r'/a/1.txt'],然后將path和filelist拼接起來存放到另一個列表中就是你希望保存文件的完整路徑存放在DestPathList中,既['D://publish//1.txt','D://publish//a//1.txt']
  3、
 代碼如下:
        for filename in filenames:                     
            FullPath = os.path.join(parent,filename)            
新聞熱點
疑難解答