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. ...
随机推荐
- Pytorch相关内容
---恢复内容开始--- Pytorch中文官方文档:https://pytorch-cn.readthedocs.io/zh/latest/package_references/torch-nn P ...
- struts2的运行原理以及底层的工作机制
1 请求,请求路径是/login(发起请求,被filter拦截) 2 DispatcherFilter 3 获取当前请求的路径 通过request对象 request.getServletPath 4 ...
- jQuery扩展插件
jQuery有多好用,大家有目共睹的,但是有时候不是每个功能都是万能的,有时候我们需要实现自己的功能,jQuery提供了很好的拓展功能,我们可以去拓展插件,更好的利用jQuery 查看官网,可知,有两 ...
- 自动创建web.xml
摘自:http://blog.csdn.net/weiral/article/details/51366485 今天在学习JSP时先创建了一个web项目,后来在用到web.xml文件时,才发现项目创建 ...
- Internet History, Technology and Security (Week 2)
Week 2 History: The First Internet - NSFNet Welcome to week 2! This week, we'll be covering the hist ...
- ci钩子
钩子 - 扩展框架核心 CodeIgniter 的钩子特性提供了一种方法来修改框架的内部运作流程,而无需修改 核心文件.CodeIgniter 的运行遵循着一个特定的流程,你可以参考这个页面的 应用程 ...
- java 数据结构与算法---栈
原理来自百度百科 一.栈的定义 栈是一种只能在一端进行插入和删除操作的特殊线性表:它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数 ...
- JVM 规范
http://files.cnblogs.com/files/dragonsuc/jls8.pdf 或者官网:http://files.cnblogs.com/files/dragonsuc/jls8 ...
- Java词频统计
public class WordCount { public static void main(String[] args) { String[] stopWords = { "" ...
- Java之Stream流
Stream流的初步学习 初次学习Stream流的学习笔记,学习之前先了解一下函数式接口 概述 API是一个程序向使用者提供的一些方法,通过这些方法就能实现某些功能.所以对于流API来 说,重点是怎么 ...