利用python操作SQLite數(shù)據(jù)庫(kù)及文件操作詳解
前言
最近在工作中遇到一個(gè)需求,就是要把SQLite數(shù)據(jù)中沒有存儲(chǔ)的文件名的文件刪除掉,想來想去還是決定用python。所以也就花了一天半的時(shí)間學(xué)習(xí)了下,隨手寫了個(gè)小例子,下面話不多說了,感興趣的朋友們一起來看看詳細(xì)的介紹吧。
直接上代碼
要用到的頭文件包
#coding=utf-8 #!/usr/bin/python #!/usr/bin/env python import os import shutil import 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ù)庫(kù) conn = sqlite3.connect('images.db') print "開始處理...";
把文件目錄下的所有文件與數(shù)據(jù)庫(kù)的存的對(duì)比,如果文件在數(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ù)庫(kù)查看當(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ù)庫(kù) conn.close() print "處里結(jié)束:"; print "所有文件總數(shù) : ",sumCount; print "刪除文件數(shù) : ",delCount;
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Python開發(fā)SQLite3數(shù)據(jù)庫(kù)相關(guān)操作詳解【連接,查詢,插入,更新,刪除,關(guān)閉等】
- Python操作SQLite數(shù)據(jù)庫(kù)過程解析
- Python操作SQLite/MySQL/LMDB數(shù)據(jù)庫(kù)的方法
- Python連接SQLite數(shù)據(jù)庫(kù)并進(jìn)行增冊(cè)改查操作方法詳解
- Python 如何操作 SQLite 數(shù)據(jù)庫(kù)
- Python 操作SQLite數(shù)據(jù)庫(kù)的示例
- python 操作sqlite數(shù)據(jù)庫(kù)的方法
- Python 操作SQLite數(shù)據(jù)庫(kù)詳情
- Python練習(xí)之操作SQLite數(shù)據(jù)庫(kù)
相關(guān)文章
python多線程實(shí)現(xiàn)動(dòng)態(tài)圖繪制
這篇文章主要介紹了python多線程實(shí)現(xiàn)動(dòng)態(tài)圖繪制,文章基于Python的相資料展開動(dòng)態(tài)圖的繪制相關(guān)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-04-04Python如何利用xlrd和xlwt模塊操作Excel表格
這篇文章主要給大家介紹了關(guān)于Python如何利用xlrd和xlwt模塊操作Excel表格的相關(guān)資料,其中xlrd模塊實(shí)現(xiàn)對(duì)excel文件內(nèi)容讀取,xlwt模塊實(shí)現(xiàn)對(duì)excel文件的寫入,需要的朋友可以參考下2022-03-03Python實(shí)現(xiàn)雙X軸雙Y軸繪圖的示例詳解
這篇文章主要介紹了如何利用fig.add_subplot和axes.twinx().twiny()方法實(shí)現(xiàn)雙X軸雙Y軸繪圖,文中的示例代碼講解詳細(xì),快跟隨小編一起動(dòng)手嘗試一下吧2022-04-04python實(shí)現(xiàn)scrapy爬蟲每天定時(shí)抓取數(shù)據(jù)的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)scrapy爬蟲每天定時(shí)抓取數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01使用Python第三方庫(kù)發(fā)送電子郵件的示例代碼
本文主要介紹了使用Python第三方庫(kù)發(fā)送電子郵件的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12使用python PIL庫(kù)實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼的去噪方法步驟
這篇文章主要介紹了使用python PIL庫(kù)實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼的去噪方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05