利用python操作SQLite數(shù)據(jù)庫及文件操作詳解
前言
最近在工作中遇到一個(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ù)庫
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í)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- Python開發(fā)SQLite3數(shù)據(jù)庫相關(guān)操作詳解【連接,查詢,插入,更新,刪除,關(guān)閉等】
- Python操作SQLite數(shù)據(jù)庫過程解析
- Python操作SQLite/MySQL/LMDB數(shù)據(jù)庫的方法
- Python連接SQLite數(shù)據(jù)庫并進(jìn)行增冊改查操作方法詳解
- Python 如何操作 SQLite 數(shù)據(jù)庫
- Python 操作SQLite數(shù)據(jù)庫的示例
- python 操作sqlite數(shù)據(jù)庫的方法
- Python 操作SQLite數(shù)據(jù)庫詳情
- Python練習(xí)之操作SQLite數(shù)據(jù)庫
相關(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-04
Python如何利用xlrd和xlwt模塊操作Excel表格
這篇文章主要給大家介紹了關(guān)于Python如何利用xlrd和xlwt模塊操作Excel表格的相關(guān)資料,其中xlrd模塊實(shí)現(xiàn)對excel文件內(nèi)容讀取,xlwt模塊實(shí)現(xiàn)對excel文件的寫入,需要的朋友可以參考下2022-03-03
Python實(shí)現(xiàn)雙X軸雙Y軸繪圖的示例詳解
這篇文章主要介紹了如何利用fig.add_subplot和axes.twinx().twiny()方法實(shí)現(xiàn)雙X軸雙Y軸繪圖,文中的示例代碼講解詳細(xì),快跟隨小編一起動(dòng)手嘗試一下吧2022-04-04
python實(shí)現(xiàn)scrapy爬蟲每天定時(shí)抓取數(shù)據(jù)的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)scrapy爬蟲每天定時(shí)抓取數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
使用python PIL庫實(shí)現(xiàn)簡單驗(yàn)證碼的去噪方法步驟
這篇文章主要介紹了使用python PIL庫實(shí)現(xiàn)簡單驗(yàn)證碼的去噪方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

