python 压缩每周生成的数据文件
为了便于整理部分业务数据,以及存储管理, 写了此脚本.后期如果有需求,再改一下.
#!/usr/bin/env python
#coding:utf8 import os,sys,time,commands,shutil,glob
import datetime class FileSuo: def __init__(self,dir):
self.dir = dir def getfile(self):
for root,dirs,files in os.walk(self.dir):
print dirs,'\n',files,'\n'
def GetSunday(self):
#isoformat = "%Y%m%d"
self.lastsunday = datetime.date.today() - datetime.timedelta(days=datetime.date.today().isoweekday())
self.tmpstr = self.lastsunday.strftime("%Y,%m,%d")
#print self.tmpstr,
#得到日期参数
self.y = int(self.tmpstr.split(',')[0])
self.m = int(self.tmpstr.split(',')[1])
self.d = int(self.tmpstr.split(',')[2])
return self.y,self.m,self.d,self.lastsunday
def Getweek(self):
week = {}
self.iosformat = "%Y%m%d"
self.Sunday = self.GetSunday()[3].strftime(self.iosformat)
week['Sun'] = self.Sunday
week['Sat'] = (datetime.date(self.GetSunday()[0],self.GetSunday()[1],self.GetSunday()[2])+datetime.timedelta(days=-1)).strftime(self.iosformat)
week['Fri'] = (datetime.date(self.GetSunday()[0],self.GetSunday()[1],self.GetSunday()[2])+datetime.timedelta(days=-2)).strftime(self.iosformat)
week['Thur'] = (datetime.date(self.GetSunday()[0],self.GetSunday()[1],self.GetSunday()[2])+datetime.timedelta(days=-3)).strftime(self.iosformat)
week['Wed'] = (datetime.date(self.GetSunday()[0],self.GetSunday()[1],self.GetSunday()[2])+datetime.timedelta(days=-4)).strftime(self.iosformat)
week['Tue'] = (datetime.date(self.GetSunday()[0],self.GetSunday()[1],self.GetSunday()[2])+datetime.timedelta(days=-5)).strftime(self.iosformat)
week['Mon'] = (datetime.date(self.GetSunday()[0],self.GetSunday()[1],self.GetSunday()[2])+datetime.timedelta(days=-6)).strftime(self.iosformat) return week if __name__ == "__main__": dir = r'/share/WebService_Device_UserMsg/record/file'
f = FileSuo(dir)
lastsun = f.GetSunday()[3].strftime("%Y%m%d")
lastweekdir = dir + '/' + 'requestRecord%s'%lastsun
maillog = dir + '/' + 'requestRecordmail.log'
if os.path.exists(dir):
print "dir is exits: %s" %dir
if not os.path.exists(lastweekdir):
os.mkdir(lastweekdir) else:
print "lastweekdir is exits: %s" %lastweekdir
for k,mf in f.Getweek().items():
os.chdir(dir)
#print os.popen('ls').readlines()
mvfilelist = glob.glob(r"requestRecord.%s_*"%mf)
#print type(mvfilelist)
for file in mvfilelist:
#print file,
shutil.move(file,lastweekdir) #count lastweekdir xia file number
def countfile():
count = 0
return len(sum([i[2] for i in os.walk(lastweekdir)],[])) print countfile()
if os.path.exists(lastweekdir) and countfile() != 0:
flog = open(maillog,'w')
flog.write(" yasuo %s start date: %s" %(lastweekdir,time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())))
flog.write("this file yasuo number is %d" %countfile())
os.chdir(dir)
status,result = commands.getstatusoutput('tar zcvf requestRecord%s.tar.gz requestRecord%s' %(lastsun,lastsun))
#print status,result
if status == 0:
flog.write("yasuo %s file is success ,end date: %s"%(lastweekdir,time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())))
commands.getstatusoutput('rm -rf requestRecord%s' %lastsun)
else:
flog.write("yasuo %s file is faild .............") flog.close() #print f.getfile()
#print lastsun
#print f.Getweek()
python 压缩每周生成的数据文件的更多相关文章
- Python中如何生成requirements.txt文件
Python项目中一般都包含一个名为 requirements.txt 文件,用来记录当前项目所有的依赖包和版本号,在一个新环境下通过该文件可以更方便的构建项目所需要的运行环境. 生成requirem ...
- python 项目自动生成 requirements.txt 文件
生成 requirements.txt 文件的目的: 安装 pthon 项目时需要把此项目所有依赖的第三方包安装完成.项目依赖的第三方包统一放到 requirements.txt 文件中即可. 怎么自 ...
- Python处理json格式的数据文件(一些坑、一些疑惑)
这里主要说最近遇到的一个问题,不过目前只是换了一种思路先解决了,脑子里仍然有疑惑,只能怪自己太菜. 最近要把以前爬的数据用一下了,先简单的过滤一下,以前用scrapy存数据的时候为了省事也为了用一下它 ...
- python 项目自动生成requirements.txt文件
主要使用目的: 任何应用程序通常需要设置安装所需并依赖一组类库来满足工作要求.通过requirements.txt可以一次性安装程序所需要和依赖的包. 为工程生成requirements.txt的两种 ...
- 根据xlsx模板生成excel数据文件发送邮件代码
package mail; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...
- python 解析Hdfs上的数据文件
python想直接读取hadoop上的文件内容,一番操作,头发掉了几根,也没能解析出来parquet文件类型的文件. 本博文简单讲解一下TEXTFILE文件格式的解析: 需要安装模块hdfs from ...
- 使用pyinstaller打包Python应用,生成EXE执行文件
在命令行中切换到要打包的程序所在目录,或者在程序目录打开命令行,直接输入下面的指令即可pyinstaller -F xxx.py pyinstaller -F -w -i manage.ico app ...
- 利用Python读取外部数据文件
不论是数据分析,数据可视化,还是数据挖掘,一切的一切全都是以数据作为最基础的元素.利用Python进行数据分析,同样最重要的一步就是如何将数据导入到Python中,然后才可以实现后面的数据分析.数 ...
- 《python解释器源码剖析》第8章--python的字节码与pyc文件
8.0 序 我们日常会写各种各样的python脚本,在运行的时候只需要输入python xxx.py程序就执行了.那么问题就来了,一个py文件是如何被python变成一系列的机器指令并执行的呢? 8. ...
随机推荐
- AngularJs 学习 (一)
最近学习了一下关于AngularJs的知识,发现和Vue还是有非常相似的东西.所以对于学过Vue的自己来说,还是比较好理解的 特点:双向数据绑定,单页面应用 控制器: AngularJs控制器可以控制 ...
- 第三章 深入Servlet技术
3.1 配置Servlet <servlet-name>,<servlet-class>是必须配置的,以便于web容器知道浏览器具体访问的是哪个servlet. <ini ...
- java中的Serializable接口的作用
实现java.io.Serializable 接口的类是可序列化的.没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化. 序列化类的所有子类本身都是可序列化的.这个序列化接口没有任何方法和域, ...
- 三星vs苹果 2018Q3 财报 以及国内最赚钱的公司...
三星文字版为: 10月31日消息,据国外媒体报道,当地时间周三韩国三星电子公布季度财报,得益于市场对其存储芯片和其他零部件的强劲需求,营业利润创下历史新高.三星不仅在自家设备上使用自己生产的芯片,还向 ...
- [转贴]Linux的SUID SGID 等知识内容
作者:sparkdev 出处:http://www.cnblogs.com/sparkdev/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...
- QT源码解析(七)Qt创建窗体的过程,作者“ tingsking18 ”(真正的创建QPushButton是在show()方法中,show()方法又调用了setVisible方法)
前言:分析Qt的代码也有一段时间了,以前在进行QT源码解析的时候总是使用ue,一个函数名在QTDIR/src目录下反复的查找,然后分析函数之间的调用关系,效率实在是太低了,最近总结出一个更简便的方法, ...
- linux ls文件颜色和底色设置
转帖 :linux ls文件颜色和底色设置 白色:表示普通文件蓝色:表示目录绿色:表示可执行文件红色:表示压缩文件浅蓝色:链接文件红色闪烁:表示链接的文件有问题黄色:表示设备文件灰色:表示其他文件 这 ...
- poj 3311(状态压缩DP)
poj 3311(状态压缩DP) 题意:一个人送披萨从原点出发,每次不超过10个地方,每个地方可以重复走,给出这些地方之间的时间,求送完披萨回到原点的最小时间. 解析:类似TSP问题,但是每个点可以 ...
- Django 2.0 学习(20):Django 中间件详解
Django 中间件详解 Django中间件 在Django中,中间件(middleware)其实就是一个类,在请求到来和结束后,Django会根据自己的规则在合适的时机执行中间件中相应的方法. 1. ...
- jdbc的封装(使用参数文件)
借鉴原CSDN作者yanzi1225627的一篇:http://blog.csdn.net/yanzi1225627/article/details/26950615 作者东西写的很好,自己用的时候进 ...