利用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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
Python不规范的日期字符串处理类
Jun 10 Python
python使用PyGame模块播放声音的方法
May 20 Python
Python操作csv文件实例详解
Jul 31 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
Python 中的lambda函数介绍
Oct 10 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
python获取Linux发行版名称
Aug 30 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
php简单生成随机数的方法
2015/07/30 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
php字符集转换
2017/01/23 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
详解vue组件基础
2018/05/04 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
python检测lvs real server状态
2014/01/22 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
详解Python装饰器
2019/03/25 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
演讲稿怎么写才完美
2014/01/02 职场文书
致短跑运动员广播稿
2014/01/09 职场文书
司法所长先进事迹
2014/06/02 职场文书
节水口号标语
2014/06/19 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android