资讯专栏INFORMATION COLUMN

python操作SQLite数据库和文件操作

dingda / 2249人阅读

摘要:最近遇到一个需求,就是要把数据中没有存储的文件名的文件删除掉,想来想去还是决定用。所以也就花了一天半的时间学习了下,随手写了个小例子。

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40849.html

相关文章

  • 通过demo学习OpenStack开发所需的基础知识 -- 据库(2)

    摘要:在实际项目中,这么做肯定是不行的实际项目中不会使用内存数据库,这种数据库一般只是在单元测试中使用。接下来,我们将会了解中单元测试的相关知识。 在上一篇文章,我们介绍了SQLAlchemy的基本概念,也介绍了基本的使用流程。本文我们结合webdemo这个项目来介绍如何在项目中使用SQLAlchemy。另外,我们还会介绍数据库版本管理的概念和实践,这也是OpenStack每个项目都需要做的...

    mingzhong 评论0 收藏0
  • sqlite3使用sqlite2创建的据库

    摘要:问题用创建了一个数据库。会得到大魔法师人族水元素暴风雪辉煌光环时空传送山丘之王人族风暴之锤雷霆一击重击天神下凡血魔法师人族炎击放逐吸魔火凤凰圣骑士人族圣光圣盾神圣光环复活但是用通过操作的时候会报错。我想也许是和创建的数据库格式不同造成的。 问题 用 sqlite 2.8.17 创建了一个数据库 heroes.db。其中创建了一个表 heroes,这张表中存储的是魔兽争霸中英雄的技能数据...

    shiyang6017 评论0 收藏0
  • Flask 插件系列 - Flask-SQLAlchemy

    摘要:程序中最常用的莫过于关系型数据库了,也称数据库。对象是类的实例,表示程序使用的数据库。本文由发表于个人博客,采用自由转载保持署名非商用禁止演绎协议发布。非商业转载请注明作者及出处。本文标题为插件系列本文链接为更多阅读 简介 Web 开发中,一个重要的组成部分便是数据库了。Web 程序中最常用的莫过于关系型数据库了,也称 SQL 数据库。另外,文档数据库(如 mongodb)、键值对数据...

    LoftySoul 评论0 收藏0
  • Python信息采集器使用轻量级关系型据库SQLite

    摘要:,引言自带一个轻量级的关系型数据库。作为后端数据库,可以搭配建网站,或者为网络爬虫存储数据。在一些场景下,网络爬虫可以使用存储采集到的网页信息。爬虫打数机将在版本支持,不妨想想一下网络爬虫与打数机连接在一起会怎样。 showImg(https://segmentfault.com/img/bVyUfA); 1,引言 Python自带一个轻量级的关系型数据库SQLite。这一数据库使用S...

    loonggg 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<