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 getopt 参数处理小示例
Jun 09 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
Python3实现购物车功能
Apr 18 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
使用 Python 遍历目录树的方法
Feb 29 Python
django之导入并执行自定义的函数模块图解
Apr 01 Python
python如何进行矩阵运算
Jun 05 Python
Python lambda表达式原理及用法解析
Aug 18 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
详解Flask开发技巧之异常处理
Jun 15 Python
Python制作动态字符画的源码
Aug 04 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 23 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人民币金额数字转中文大写的函数代码
2013/02/27 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
理解PHP中的stdClass类
2014/04/18 PHP
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
javascript实现密码验证
2015/11/10 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
python 排列组合之itertools
2013/03/20 Python
python实现识别相似图片小结
2016/02/22 Python
Python标准库之collections包的使用教程
2017/04/27 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
css3学习心得分享
2013/08/19 HTML / CSS
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
高三自我鉴定怎么写
2013/10/19 职场文书
大学生思想汇报范文
2013/12/31 职场文书
建议书标准格式
2014/03/12 职场文书
大学生实习推荐信
2015/03/27 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书