利用python操作SQLite数据库及文件操作详解


Posted in Python onSeptember 22, 2017

前言

最近在工作中遇到一个需求,就是要把SQLite数据中没有存储的文件名的文件删除掉,想来想去还是决定用python。所以也就花了一天半的时间学习了下,随手写了个小例子,下面话不多说了,感兴趣的朋友们一起来看看详细的介绍吧。

直接上代码

要用到的头文件包

#coding=utf-8
#!/usr/bin/python
#!/usr/bin/env python
import os
import shutil
import sqlite3

定义记录变量

#记录所文件数
sumCount=0;
#记录留存文件数
count=0;
#记录删除文件数
delCount=0;
#定义存储遍历所有文件数组
delList = []
#文件存储路径
delDir = "/Users/liudengtan/Desktop/testFile/"
#获取路径下所有文件
delList = os.listdir(delDir)
#打开连接数据库
conn = sqlite3.connect('images.db')
print "开始处理...";

把文件目录下的所有文件与数据库的存的对比,如果文件在数据中,就存留,否则删除文件

#遍历
for f in delList:
 #获取到文件路径
 filePath = os.path.join(delDir, f)
 if os.path.isfile(filePath):
  sumCount=sumCount+1
  #将文件全路径中存储路径替换,只留文件名
  fileName=filePath.replace(delDir,'')
  #数据库查看当前文件名是否存在
  cursor = conn.execute("SELECT image FROM '表名' where image=(?)",(fileName))
  res = cursor.fetchall()
  #条件判断>0文件存在
  if len(res) > 0:
   count = count + 1;
  else:#文件不存在将其删除
   if os.path.isfile(delDir + fileName):
    #删除文件操作
    os.remove(delDir + fileName)
    print delDir + fileName + " 删除!"
   delCount = delCount + 1;

#关闭数据库
conn.close()
print "处里结束:";
print "所有文件总数 : ",sumCount;
print "删除文件数 : ",delCount;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
python中安装模块包版本冲突问题的解决
May 02 Python
python模块之time模块(实例讲解)
Sep 13 Python
python批量替换多文件字符串问题详解
Apr 22 Python
python中协程实现TCP连接的实例分析
Oct 14 Python
python Kmeans算法原理深入解析
Aug 23 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
Python xlwt模块使用代码实例
Jun 10 Python
Pygame框架实现飞机大战
Aug 07 Python
python删除文件、清空目录的实现方法
Sep 23 Python
Python正则表达式知识汇总
Sep 22 #Python
python3实现全角和半角字符转换的方法示例
Sep 21 #Python
python实现二分查找算法
Sep 21 #Python
分享给Python新手们的几道简单练习题
Sep 21 #Python
python验证码识别的示例代码
Sep 21 #Python
Python优先队列实现方法示例
Sep 21 #Python
python虚拟环境virtualenv的安装与使用
Sep 21 #Python
You might like
十天学会php之第六天
2006/10/09 PHP
一个SQL管理员的web接口
2006/10/09 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
一个js的tab切换效果代码[代码分离]
2010/04/11 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
easy_install python包安装管理工具介绍
2013/02/10 Python
详解Python中for循环的使用
2015/04/14 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
岗位职责的定义
2013/11/10 职场文书
创业计划书中包含的9个方面
2013/12/26 职场文书
区三好学生主要事迹
2014/01/30 职场文书
小学生读书感言
2014/02/12 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
奖励通知
2015/04/22 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书