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 字符串split的用法分享
Mar 23 Python
Python数据结构之Array用法实例
Oct 09 Python
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
Apr 25 Python
python类装饰器用法实例
Jun 04 Python
Django 如何获取前端发送的头文件详解(推荐)
Aug 15 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
python如何生成各种随机分布图
Aug 27 Python
python占位符输入方式实例
May 27 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 Python
python pandas移动窗口函数rolling的用法
Feb 29 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
深入理解Python变量的数据类型和存储
Feb 01 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
图解上海144收音机
2021/03/02 无线电
smarty基础之拼接字符串的详解
2013/06/18 PHP
php分页函数示例代码分享
2014/02/24 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
jquery实现显示已选用户
2014/07/21 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
python中反射用法实例
2015/03/27 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
详解Python3中ceil()函数用法
2019/02/19 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
使用python实现滑动验证码功能
2019/08/05 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python软件都是免费的吗
2020/06/18 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
英国著名药妆店:Superdrug
2021/02/13 全球购物
文秘大学生求职信
2014/02/25 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
2014年项目工作总结
2014/11/24 职场文书
初中作文评语集锦
2014/12/25 职场文书