利用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获取CPU和内存信息的思路与实现(linux系统)
Jan 03 Python
python基于itchat实现微信群消息同步机器人
Feb 27 Python
Python序列循环移位的3种方法推荐
Apr 09 Python
浅谈python连续赋值可能引发的错误
Nov 10 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
Python3几个常见问题的处理方法
Feb 26 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
Apr 03 Python
python numpy实现文件存取的示例代码
May 26 Python
python实现复制文件到指定目录
Oct 16 Python
基于python实现数组格式参数加密计算
Apr 21 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
Python编程把二叉树打印成多行代码
2018/01/04 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
python模块smtplib学习
2018/05/22 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
python 实现识别图片上的数字
2019/07/30 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
就业推荐表自我鉴定
2013/10/29 职场文书
农贸市场管理制度
2014/01/31 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js