利用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中遍历文件的3个方法
Sep 02 Python
使用grappelli为django admin后台添加模板
Nov 18 Python
python中nan与inf转为特定数字方法示例
May 11 Python
Python实现读取Properties配置文件的方法
Mar 29 Python
《与孩子一起学编程》python自测题
May 27 Python
python实现windows壁纸定期更换功能
Jan 21 Python
Django异步任务之Celery的基本使用
Mar 23 Python
Python3使用TCP编写一个简易的文件下载器功能
May 08 Python
在pycharm中创建django项目的示例代码
May 28 Python
python中if及if-else如何使用
Jun 02 Python
Python基于wordcloud及jieba实现中国地图词云图
Jun 09 Python
python读取excel数据并且画图的实现示例
Feb 08 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中spl_autoload_register函数的用法总结
2013/11/07 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
js opener的使用详解
2014/01/11 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
javascript几个易错点记录
2014/11/26 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
详解Python中DOM方法的动态性
2015/04/11 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
倡议书范文
2014/04/16 职场文书
合同协议书格式
2014/04/18 职场文书
教师自查自纠材料
2014/10/14 职场文书
班主任先进事迹材料
2014/12/17 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
好员工观后感
2015/06/17 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript