利用python操作SQLite数据库及文件操作详解

 更新时间:2017年09月22日 10:31:43   作者:刘登坛  
这篇文章主要给大家介绍了关于利用python操作SQLite数据库及文件操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

最近在工作中遇到一个需求,就是要把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;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • TensorFlow 实战之实现卷积神经网络的实例讲解

    TensorFlow 实战之实现卷积神经网络的实例讲解

    下面小编就为大家分享一篇TensorFlow 实战之实现卷积神经网络的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • python可视化 matplotlib画图使用colorbar工具自定义颜色

    python可视化 matplotlib画图使用colorbar工具自定义颜色

    这篇文章主要介绍了python可视化 matplotlib画图使用colorbar工具自定义颜色,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python lambda表达式在sort函数中的使用详解

    python lambda表达式在sort函数中的使用详解

    这篇文章主要介绍了python lambda表达式在sort函数中的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python Pygame实现落球游戏详解

    Python Pygame实现落球游戏详解

    本文主要介绍了利用Pygame实现落球小游戏,即屏幕上落下一个球,通过鼠标移动,地下的木块如果接上则加分,否则就减去一命,三条命用完则游戏结束。感兴趣的可以学习
    2022-01-01
  • 如何将python项目部署在一台服务器上

    如何将python项目部署在一台服务器上

    服务器less技术是一种无需管理服务器即可运行应用程序的方法,最流行的服务器less平台是AWS Lambda,这篇文章主要介绍了如何将python项目部署在一台服务器上,需要的朋友可以参考下
    2023-10-10
  • Python使用Flask编写一个网站的代码指南

    Python使用Flask编写一个网站的代码指南

    使用Flask编写一个网站是一个相对简单且有趣的过程,Flask是一个用Python编写的轻量级Web应用框架,它易于上手,同时也非常强大,适合构建从简单的博客到复杂的Web应用的各种项目,以下是一个使用Flask编写简单网站的指南,包括代码示例,需要的朋友可以参考下
    2024-11-11
  • python numpy矩阵信息说明,shape,size,dtype

    python numpy矩阵信息说明,shape,size,dtype

    这篇文章主要介绍了python numpy矩阵信息说明,shape,size,dtype,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python画一个圣诞树实现示例

    python画一个圣诞树实现示例

    这篇文章主要为大家介绍了使用python画一个圣诞树实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python常用正则函数使用方法详解

    Python常用正则函数使用方法详解

    Python中常用的正则表达式处理函数有re.match(),re.search(),re.sub(),re.split(),re.findall(),re.compile()今天为大家介绍这些函数的使用方法
    2021-10-10
  • python 详解如何使用GPU大幅提高效率

    python 详解如何使用GPU大幅提高效率

    CuPy是一个开源矩阵库,使用NVIDIA CUDA加速。CuPy使用Python提供GPU加速计算。CUPY使用CUDA相关库,包括 CuBLAS、CUDNN、Curand、CuoSver、CuPaSeSE、Cufft和NCCL,以充分利用GPU架构
    2021-11-11

最新评论