利用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 异常处理实例详解
Mar 12 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
python如何通过实例方法名字调用方法
Mar 21 Python
python selenium自动上传有赞单号的操作方法
Jul 05 Python
python实现自动网页截图并裁剪图片
Jul 30 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
python执行CMD指令,并获取返回的方法
Dec 19 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
python语言中有算法吗
Jun 16 Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 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程序占用多少内存(memory_get_usage)
2012/09/23 PHP
php生成圆角图片的方法
2015/04/07 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
JavaScript中数组常见操作技巧
2017/09/01 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
Python定义一个Actor任务
2020/07/29 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
详解Anaconda 的安装教程
2020/09/23 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
校园安全教育广播稿
2014/02/17 职场文书
质量管理标语
2014/06/12 职场文书
文艺演出主持词
2015/07/01 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android