lxvs-001,时已立冬txt,郫县鸟笼卖3万
脚本1:
这两天用python写了一个删除指定目录下过期时间的脚本。也可能是我初学python,对python还不够熟习,总觉得这个脚本用shell写应该更简单也更容易些。
就功能上来说,该脚本已经实现了我想要的效果,不过该脚本还不够通用性,还有更多可以完善的地方。目前该脚本在python2.4下运行良好。同时,我在脚本中加入了对python版本的判断,理论上2.7下也应该可以正常使用。有环境的朋友可以帮忙测试一下。
该脚本不完善的地方在于,只能支持一级目录下的文件删除,还不支持目录递归。同时过期文件的定义只能按week来做。
python代码:
脚本2:
实现类似下面的shell命令的操作
def __init__(self,filename,days):
self.filename = filename
self.days = days
def delete(self):
if os.path.isfile(self.filename):
fd = open(self.filename,'r')
while 1:
buffer = fd.readline()
if not buffer : break
if os.path.isfile(buffer):
os.remove(buffer)
fd.close()
elif os.path.isdir(self.filename):
for i in [os.sep.join([self.filename,v]) for v in os.listdir(self.filename)]:
print i
if os.path.isfile(i):
if self.compare_file_time(i):
os.remove(i)
elif os.path.isdir(i):
self.filename = i
self.delete()
def compare_file_time(self,file):
time_of_last_access = os.path.getatime(file)
age_in_days = (time.time()-time_of_last_access)/(60*60*24)
if age_in_days > self.days:
return true
return false
if __name__ == '__main__':
if len(sys.argv) == 2:
obj = deletelog(sys.argv[1],0)
obj.delete()
elif len(sys.argv) == 3:
obj = deletelog(sys.argv[1],int(sys.argv[2]))
obj.delete()
else:
print "usage: python %s listfilename|dirname [days]" % sys.argv[0]
sys.exit(1)
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python爬虫:Request Payload和Form Data的简单区别说明
浅谈Python中threading join和setDaemon用法及区别说明
Python3-异步进程回调函数(callback())介绍
python继承threading.Thread实现有返回值的子类实例
Python中使用threading.Event协调线程的运行详解
网友评论