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

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

系統 2139 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條評論
主站蜘蛛池模板: 国产精品久久大陆 | 99国产精品热久久久久久夜夜嗨 | 国产精品国产三级国产 | 亚洲你懂的 | 九九九精品视频 | 国产精品合集一区二区 | 日本高清一级做a爱过程免费视频 | 国产婷婷色 | 国外欧美一区另类中文字幕 | 亚洲精品在线播放视频 | 久久精品99香蕉国产 | 91久久福利国产成人精品 | 人人艹在线 | 国产在线自在拍91精品黑人 | 欧美日韩一区二区三区毛片 | 国产精品久久久久999 | 天天操精品视频 | www.xxx欧美 | 亚洲 欧美 日韩 在线 香蕉 | julia紧身裙中文字幕在线看 | 最新国产午夜精品视频不卡 | 超级乱淫视频aⅴ播放视频 超级乱淫视频播放日韩 | 国产中文字幕亚洲 | 国产福利视频网站 | 中文在线日韩 | 久久大香香蕉国产免费网站 | 四虎国产精品免费视 | 婷婷国产成人久久精品激情 | 日本高清在线精品一区二区三区 | 欧美亚洲一区二区三区在线 | 国产激情视频在线观看首页 | 国产中文字幕在线 | 成人亚洲性情网站www在线观看 | 亚洲国产精品一区二区第四页 | 激情国产白嫩美女在线观看 | 一级毛片免费视频 | 伊人久久网国产伊人 | 久久免费精品视频在线观看 | 久草热久草视频 | 日日操日日爽 | 久久香蕉国产线看观看精品蕉 |