利用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 相关文章推荐
使用python绘制人人网好友关系图示例
Apr 01 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
Python装饰器的执行过程实例分析
Jun 04 Python
解决python3 Pycharm上连接数据库时报错的问题
Dec 03 Python
Python Excel处理库openpyxl使用详解
May 09 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
python pandas模块基础学习详解
Jul 03 Python
解决Django中多条件查询的问题
Jul 18 Python
Python socket 套接字实现通信详解
Aug 27 Python
利用Python绘制有趣的万圣节南瓜怪效果
Oct 31 Python
Python APScheduler执行使用方法详解
Dec 10 Python
在Windows下安装配置CPU版的PyTorch的方法
Apr 02 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
一个更简单的无限级分类菜单代码
2007/01/16 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
带你快速理解javascript中的事件模型
2017/08/14 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python基于select实现的socket服务器
2016/04/13 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
python skimage 连通性区域检测方法
2018/06/21 Python
python支持多继承吗
2020/06/19 Python
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
C++面试题:关于链表和指针
2013/06/05 面试题
优秀党务工作者事迹材料
2014/05/07 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
平安家庭事迹材料
2014/12/20 职场文书
先进工作者申报材料
2014/12/23 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python