利用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中引用与复制用法实例分析
Jun 04 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
Jan 18 Python
Python实现的科学计算器功能示例
Aug 04 Python
python如何去除字符串中不想要的字符
Jul 05 Python
将python代码和注释分离的方法
Apr 21 Python
对Python中type打开文件的方式介绍
Apr 28 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
Feb 27 Python
python怎么对数字进行过滤
Jul 05 Python
简单的命令查看安装的python版本号
Aug 28 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
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
angular实现图片懒加载实例代码
2017/06/08 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
浅谈React高阶组件
2018/03/28 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
django正续或者倒序查库实例
2020/05/19 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
高中校园广播稿
2014/01/11 职场文书
中学教师自我鉴定
2014/02/07 职场文书
材料会计岗位职责
2014/03/06 职场文书
网络信息安全承诺书
2014/03/26 职场文书
廉政教育的心得体会
2014/09/01 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
稽核岗位职责
2015/02/10 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
辞职申请书范本
2019/05/20 职场文书
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫