實作功能:洗掉當前目錄下,除保留目錄和檔案外的所有檔案和目錄
#!bin/env python
import os
import os.path
import shutil
def DeleteFiles(path, remainDirsList, filesList):
dirsList = []
dirsList = os.listdir(path)
for f in dirsList:
if f not in remainDirsList:
filePath = os.path.join(path,f)
if os.path.isdir(filePath):
shutil.rmtree(filePath, True)
if f in filesList:
filepath = os.path.join(path,f)
os.remove(f)
if __name__ == "__main__":
path=os.getcwd()+"\\"
#當前目錄中需要保留的檔案
filesList=['a.txt','b.txt']
#當前目錄中需要保留的檔案夾
dirsList=['test']
DeleteFiles(path,fileList,dirsList)
uj5u.com熱心網友回復:
你是不是傳遞引數時候把順序搞反了,檢查一下DeleteFiles這個函式的引數順序。覺得應該先判斷 f 是目錄或是檔案,然后再來判斷是否是需要保留的部分,然后再用相應的檔案洗掉或是目錄洗掉方法來處理。
還有這一段
if f in filesList:
.....
你是要把fileslist里的檔案洗掉嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256061.html
上一篇:MB求最優解 粒子群演算法種群初始化函式 、無法運行求解決!
下一篇:配置好了但是ping不通
