Python批量删除只保留最近几天table的代码实例


Posted in Python onApril 01, 2019

Python批量删除table,只保留最近几天的table

代码如下:

#!/usr/bin/python3
"""
批量删除table,只保留最近几天的table
"""
import pymysql
import re
def conn_(host='',usr='',passwd='',db='',port=3306,):
  conn = pymysql.connect(host, usr, passwd, db, port,charset='utf8')
  return conn
def del_table(conn_,table_pre='',table_suff='%Y%m%d',keep_count=3):
  date_form = None
  if table_suff == "%Y%m%d":
    date_form = "_(\d{4}\d{1,2}\d{1,2})$"
    date_len = 8
  elif table_suff == "%Y-%m-%d":
    date_form = "_(\d{4}-\d{1,2}-\d{1,2})$"
    date_len = 10
  elif table_suff == "%Y%m":
    date_form = "_(\d{4}\d{1,2})$"
    date_len = 6
  elif table_suff == "%Y-%m":
    date_form = "_(\d{4}-\d{1,2})$"
    date_len = 7
  else:
    raise Exception("暂时不支持其他类型的时间后缀")
  curs = conn_.cursor()
  curs.execute('SHOW TABLES')
  data = curs.fetchall()
  table_ = r'%s'%table_pre+date_form
  list_table = []
  i = 0
  for table in data:
    mt = re.search(table_, table[0])
    if mt:
      if len(mt.groups()[0]) == date_len:
        list_table.append((table[0], mt.groups()[0]))
        i += 1
  sorted(list_table, key=lambda date: date[1]) #按照表结构后缀时间升序排序
  for j in range(i-keep_count):
    sql = 'DROP TABLE if exists %s'%list_table[j][0]
    curs.execute(sql)
  curs.close()
  conn_.close()
if __name__ == '__main__':
  table_pre = "tree_product"
  table_suff = "%Y%m%d"
  # table_suff = "%Y-%m-%d"
  # table_suff = "%Y%m"
  # table_suff = "%Y-%m"
  conn=conn_('10.0.0.11','root','sctele@root','sxf',port=3306)
  del_table(conn,table_pre=table_pre,table_suff=table_suff,keep_count=1)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 Python
Python 实现随机数详解及实例代码
Apr 15 Python
Django 跨域请求处理的示例代码
May 02 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
Flask web开发处理POST请求实现(登录案例)
Jul 26 Python
python使用KNN算法识别手写数字
Apr 25 Python
Django中使用session保持用户登陆连接的例子
Aug 06 Python
tensorflow tf.train.batch之数据批量读取方式
Jan 20 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
Python执行时间的几种计算方法
Jul 31 Python
python实现杨辉三角的几种方法代码实例
Mar 02 Python
Python实现byte转integer
Jun 03 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 #Python
python assert的用处示例详解
Apr 01 #Python
使用Python操作FTP实现上传和下载的方法
Apr 01 #Python
Python提取特定时间段内数据的方法实例
Apr 01 #Python
如何使用Python进行OCR识别图片中的文字
Apr 01 #Python
Python datetime和unix时间戳之间相互转换的讲解
Apr 01 #Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 #Python
You might like
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
Javascript的一种模块模式
2008/03/22 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
javascript中Function类型详解
2015/04/28 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
对python模块中多个类的用法详解
2019/01/10 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
python配置文件写入过程详解
2019/10/19 Python
Python reduce函数作用及实例解析
2020/05/08 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
Python如何对XML 解析
2020/06/28 Python
大学总结自我鉴定
2014/01/18 职场文书
学生会主席演讲稿
2014/04/25 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
小学生环保倡议书
2014/05/15 职场文书
项目经理任命书内容
2014/06/06 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
Python 正则模块详情
2021/11/02 Python