利用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通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
在Python中操作时间之tzset()方法的使用教程
May 22 Python
python win32 简单操作方法
May 25 Python
简单实现python收发邮件功能
Jan 05 Python
Tornado高并发处理方法实例代码
Jan 15 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
python使用多线程查询数据库的实现示例
Aug 17 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程序
2006/10/09 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
brook javascript框架介绍
2011/10/10 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
Django REST framework 分页的实现代码
2019/06/19 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
奖学金自我鉴定范文
2013/10/03 职场文书
如何写一封打动人心的求职信
2014/02/17 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
行政处罚告知书
2015/07/01 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang
详解Go与PHP的语法对比
2021/05/29 PHP