亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python實現的文件夾清理程序分享

系統 1928 0

使用:

復制代碼 代碼如下:

foldercleanup.py -d 10 -k c:\test\keepfile.txt c:\test

表示對c:\test目錄只保留最近10天的子文件夾和keepfile.txt中指定的子文件夾。

代碼:

復制代碼 代碼如下:

import os
import os.path
import datetime
?
def getOption():
? from optparse import OptionParser
?
? des?? = "clean up the folder with some options"
? prog? = "foldercleanup"
? ver?? = "%prog 0.0.1"
? usage = "%prog [options] foldername"
?
? p = OptionParser(description=des, prog=prog, version=ver, usage=usage,add_help_option=True)
? p.add_option('-d','--days',action='store',type='string',dest='days',help="keep the subfolders which are created in recent %days% days")
? p.add_option('-k','--keepfile',action='store',type='string',dest='keepfile',help="keep the subfolders which are recorded in text file %keepfile% ")
? options, arguments = p.parse_args()
?
? if len(arguments) != 1:
??? print("error: must input one directory as only one parameter ")
??? return
?
? return options.days, options.keepfile, arguments[0]?

?
def preCheckDir(dir):
? if(not os.path.exists(dir)):
??? print("error: the directory your input is not existed")
??? return
? if(not os.path.isdir(dir)):
??? print ("error: the parameter your input is not a directory")
??? return
???
? return os.path.abspath(dir)
?
def isKeepByDay(dir, day):
? indays = False
? if( day is not None) :
??? t = os.path.getctime(dir)
??? today = datetime.date.today()
??? createdate = datetime.date.fromtimestamp(t)
??? indate = today - datetime.timedelta(days = int(day))
??? print (createdate)
??? if(createdate >= indate):
????? indays = True
? print (indays)
? return indays
?
def isKeepByKeepfile(dir, keepfile):
? needkeep = False
? print (dir)
? if (keepfile is not None):
??? try :
????? kf = open(keepfile,"r")
????? for f in kf.readlines():
??????? print (f)
??????? if (dir.upper().endswith("\\" + f.strip().upper())):
????????? needkeep = True
????? kf.close()
??? except:
????? print ("error: keep file cannot be opened")
? print(needkeep)
? return needkeep
???
def removeSubFolders(dir, day, keepfile):
? subdirs = os.listdir(dir)
? for subdir in subdirs:
??? subdir = os.path.join(dir,subdir)
??? if ( not os.path.isdir(subdir)):
????? continue
??? print("----------------------")
??? if( (not isKeepByDay(subdir, day))and (not isKeepByKeepfile(subdir, keepfile))):
????? print("remove subfolder: " + subdir)
????? import shutil
????? shutil.rmtree(subdir,True)
???
def FolderCleanUp():
? (day, keepfile, dir) = getOption()
? dir = preCheckDir(dir)
? if dir is None:
??? return
? removeSubFolders(dir,day,keepfile)
?
if __name__=='__main__':
? FolderCleanUp()

對目錄下保留最后的zip文件:

復制代碼 代碼如下:

def KeepLastNumZips(num)
??? def extractTime(f):
??????? return os.path.getctime(f)

??? zipfiles = [os.path.join(zipdir, f)
??????????????? for f in os.listdir(zipdir)
??????????????? if os.path.splitext(f)[1] == ".zip"]
??? if len(zipfiles) > num:
??????? zipfiles.sort(key=extractTime, reverse=True)
??????? for i in range(num, len(zipfiles)):
??????????? os.remove(zipfiles[i])


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久综合九九亚洲一区 | 欧美久久精品一级c片片 | 伊人焦久影院 | 国产精品视频ccav | 日韩视频 中文字幕 视频一区 | 日本1区二区三区公司 | 男人天堂a | 亚洲视频福利 | 国产粉嫩白浆在线观看 | 黄片毛片免费在线观看 | 欧美国产日韩在线观看 | 色婷婷综合在线视频最新 | 久久久精品国产四虎影视 | 4hutv四虎最新地址 | 久久99九九99九九精品 | 另类重口性色老妇 | 亚洲一区二区三区在线 | 亚洲视频在线观看一区 | 国产精品区牛牛影院 | 国产成人精品一区二区仙踪林 | 色八戒国产一区二区三区四区 | 亚洲精品欧美日本中文字幕 | 精品一区二区三区在线播放 | 久操综合在线 | 午夜影院一区二区 | 97国产成人精品免费视频 | 久久9热 | 欧美日韩亚洲无线码在线观看 | 老司机午夜免费视频 | 亚洲麻豆| 国产毛片久久精品 | 99视频在线观看视频一区 | 婷婷在线视频观看 | 一及毛片| 国产在线精品香蕉麻豆 | 97在线资源 | 国产成人午夜性a一级毛片 国产成人午夜性视频影院 国产成人系列 | 秘密影院久久综合亚洲综合 | 免费看片黄 | 国产精品亚洲第一区二区三区 | 日韩不卡一级毛片免费 |