国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用python操作SQLite數(shù)據(jù)庫及文件操作詳解

2020-02-16 10:17:42
字體:
供稿:網(wǎng)友

前言

最近在工作中遇到一個(gè)需求,就是要把SQLite數(shù)據(jù)中沒有存儲(chǔ)的文件名的文件刪除掉,想來想去還是決定用python。所以也就花了一天半的時(shí)間學(xué)習(xí)了下,隨手寫了個(gè)小例子,下面話不多說了,感興趣的朋友們一起來看看詳細(xì)的介紹吧。

直接上代碼

要用到的頭文件包

#coding=utf-8#!/usr/bin/python#!/usr/bin/env pythonimport osimport shutilimport sqlite3

定義記錄變量

#記錄所文件數(shù)sumCount=0;#記錄留存文件數(shù)count=0;#記錄刪除文件數(shù)delCount=0;#定義存儲(chǔ)遍歷所有文件數(shù)組delList = []
#文件存儲(chǔ)路徑delDir = "/Users/liudengtan/Desktop/testFile/"#獲取路徑下所有文件delList = os.listdir(delDir)#打開連接數(shù)據(jù)庫conn = sqlite3.connect('images.db')print "開始處理...";

把文件目錄下的所有文件與數(shù)據(jù)庫的存的對比,如果文件在數(shù)據(jù)中,就存留,否則刪除文件

#遍歷for f in delList: #獲取到文件路徑 filePath = os.path.join(delDir, f) if os.path.isfile(filePath):  sumCount=sumCount+1  #將文件全路徑中存儲(chǔ)路徑替換,只留文件名  fileName=filePath.replace(delDir,'')  #數(shù)據(jù)庫查看當(dāng)前文件名是否存在  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;#關(guān)閉數(shù)據(jù)庫conn.close()print "處里結(jié)束:";print "所有文件總數(shù) : ",sumCount;print "刪除文件數(shù) : ",delCount;

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 甘南县| 英吉沙县| 兴仁县| 安顺市| 台中市| 临城县| 桃源县| 长子县| 北海市| 信宜市| 桂林市| 莎车县| 湖口县| 巴林左旗| 龙井市| 朝阳区| 英吉沙县| 临清市| 普陀区| 开远市| 泰来县| 永春县| 红原县| 道真| 肥西县| 龙陵县| 元江| 横山县| 衡水市| 襄汾县| 方山县| 宝兴县| 东城区| 平南县| 北海市| 甘孜| 门源| 手游| 同仁县| 福海县| 泰来县|