利用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 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
Python3.6连接Oracle数据库的方法详解
May 18 Python
Python中一些不为人知的基础技巧总结
May 19 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
python实现多层感知器
Jan 18 Python
python里dict变成list实例方法
Jun 26 Python
Python实现Selenium自动化Page模式
Jul 14 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
Python模拟键盘输入自动登录TGP
Nov 27 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 手机归属地查询 api
2010/02/08 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
php中strtotime函数用法详解
2014/11/15 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
解放web程序员的输入验证
2006/10/06 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
JS简单实现表格排序功能示例
2016/12/20 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
JavaScript制作3D旋转相册
2020/08/02 Javascript
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Python中的默认参数实例分析
2018/01/29 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
空指针到底是什么
2012/08/07 面试题
公司培训心得体会
2014/01/03 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
贷款承诺书
2015/01/20 职场文书
信息简报范文
2015/07/21 职场文书
python实现简单倒计时功能
2021/04/21 Python
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技