利用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)文章
TensorFlow 實(shí)戰(zhàn)之實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例講解
下面小編就為大家分享一篇TensorFlow 實(shí)戰(zhàn)之實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02
python可視化 matplotlib畫圖使用colorbar工具自定義顏色
這篇文章主要介紹了python可視化 matplotlib畫圖使用colorbar工具自定義顏色,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
python lambda表達(dá)式在sort函數(shù)中的使用詳解
這篇文章主要介紹了python lambda表達(dá)式在sort函數(shù)中的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python Pygame實(shí)現(xiàn)落球游戲詳解
本文主要介紹了利用Pygame實(shí)現(xiàn)落球小游戲,即屏幕上落下一個(gè)球,通過鼠標(biāo)移動(dòng),地下的木塊如果接上則加分,否則就減去一命,三條命用完則游戲結(jié)束。感興趣的可以學(xué)習(xí)2022-01-01
如何將python項(xiàng)目部署在一臺(tái)服務(wù)器上
服務(wù)器less技術(shù)是一種無需管理服務(wù)器即可運(yùn)行應(yīng)用程序的方法,最流行的服務(wù)器less平臺(tái)是AWS Lambda,這篇文章主要介紹了如何將python項(xiàng)目部署在一臺(tái)服務(wù)器上,需要的朋友可以參考下2023-10-10
Python使用Flask編寫一個(gè)網(wǎng)站的代碼指南
使用Flask編寫一個(gè)網(wǎng)站是一個(gè)相對(duì)簡(jiǎn)單且有趣的過程,Flask是一個(gè)用Python編寫的輕量級(jí)Web應(yīng)用框架,它易于上手,同時(shí)也非常強(qiáng)大,適合構(gòu)建從簡(jiǎn)單的博客到復(fù)雜的Web應(yīng)用的各種項(xiàng)目,以下是一個(gè)使用Flask編寫簡(jiǎn)單網(wǎng)站的指南,包括代碼示例,需要的朋友可以參考下2024-11-11
python numpy矩陣信息說明,shape,size,dtype
這篇文章主要介紹了python numpy矩陣信息說明,shape,size,dtype,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
python畫一個(gè)圣誕樹實(shí)現(xiàn)示例
這篇文章主要為大家介紹了使用python畫一個(gè)圣誕樹實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

