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实现的去除win下文本文件头部BOM的代码
Feb 10 Python
Python中的两个内置模块介绍
Apr 05 Python
python分析网页上所有超链接的方法
May 08 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 Python
Python2.7.10以上pip更新及其他包的安装教程
Jun 12 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
Python Django Vue 项目创建过程详解
Jul 29 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
Python用access判断文件是否被占用的实例方法
Dec 17 Python
实战Python爬虫爬取酷我音乐
Apr 11 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 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
python实现局域网内实时通信代码
2019/12/22 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
python tqdm库的使用
2020/11/30 Python
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
评析教师个人的自我评价
2014/02/19 职场文书
医院标语大全
2014/06/23 职场文书
个人授权委托书范本
2014/09/14 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
第二次离婚起诉书
2015/05/18 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
Nginx安装配置详解
2022/06/25 Servers