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中的迭代器漫谈
Feb 03 Python
python对数组进行反转的方法
May 20 Python
Python实现统计代码行的方法分析
Jul 12 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
一份python入门应该看的学习资料
Apr 11 Python
Python面向对象类继承和组合实例分析
May 28 Python
python 执行文件时额外参数获取的实例
Dec 18 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
python启动应用程序和终止应用程序的方法
Jun 28 Python
pytorch 共享参数的示例
Aug 17 Python
Python如何使用函数做字典的值
Nov 30 Python
pytorch 自定义参数不更新方式
Jan 06 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导入导出Excel代码
2015/07/07 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
thinkPHP查询方式小结
2016/01/09 PHP
javascript之更有效率的字符串替换
2008/08/02 Javascript
jquery 弹出层实现代码
2009/10/30 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
javascript读写json示例
2014/04/11 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
微信小程序实现多选框功能的实例代码
2020/06/24 Javascript
python从入门到精通(DAY 1)
2015/12/20 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
Python实现对adb命令封装
2020/03/06 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
什么是组件架构
2016/05/15 面试题
总裁助理岗位职责
2014/02/17 职场文书
房地产活动策划方案
2014/05/14 职场文书
英语教师个人总结
2015/02/09 职场文书
新年晚会开场白
2015/05/29 职场文书
爱国电影观后感
2015/06/19 职场文书
政审证明材料
2015/06/19 职场文书
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers