当前位置:脚本大全 > > 正文

python中如何清空列表数据(Python批量删除只保留最近几天table的代码实例)

时间:2021-11-04 19:09:19类别:脚本大全

python中如何清空列表数据

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

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

代码如下:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • #!/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)
  • 总结

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

    原文链接:https://blog.csdn.net/sxf_123456/article/details/79224404

    上一篇下一篇

    猜您喜欢

    热门推荐