黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

python實(shí)現(xiàn)的文件夾清理程序分享

系統(tǒng) 2279 0

使用:

復(fù)制代碼 代碼如下:

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

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

代碼:

復(fù)制代碼 代碼如下:

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()

對(duì)目錄下保留最后的zip文件:

復(fù)制代碼 代碼如下:

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])


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論