利用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循环创建多个文件的方法
Oct 25 Python
python代码编写计算器小程序
Mar 30 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 Python
python线程定时器Timer实现原理解析
Nov 30 Python
Python2与Python3的区别点整理
Dec 12 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
Python实现代码块儿折叠
Apr 15 Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 Python
详解Python Celery和RabbitMQ实战教程
Jan 20 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
python异步的ASGI与Fast Api实现
Jul 16 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
php导出excel格式数据问题
2014/03/11 PHP
php中使用sftp教程
2015/03/30 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
Python简单日志处理类分享
2015/02/14 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
Python中常用信号signal类型实例
2018/01/25 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
公司业务主管岗位职责
2013/12/07 职场文书
物理专业大学生职业生涯规划书
2014/02/07 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
2015年化验室工作总结
2015/04/23 职场文书
廉政承诺书范文
2015/04/28 职场文书
女方离婚起诉书
2015/05/18 职场文书
辛德勒的名单观后感
2015/06/03 职场文书