利用python操作SQLite數(shù)據(jù)庫及文件操作詳解
前言
最近在工作中遇到一個需求,就是要把SQLite數(shù)據(jù)中沒有存儲的文件名的文件刪除掉,想來想去還是決定用python。所以也就花了一天半的時間學(xué)習(xí)了下,隨手寫了個小例子,下面話不多說了,感興趣的朋友們一起來看看詳細(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; #定義存儲遍歷所有文件數(shù)組 delList = []
#文件存儲路徑
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
#將文件全路徑中存儲路徑替換,只留文件名
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ù)庫并進行增冊改查操作方法詳解
- Python 如何操作 SQLite 數(shù)據(jù)庫
- Python 操作SQLite數(shù)據(jù)庫的示例
- python 操作sqlite數(shù)據(jù)庫的方法
- Python 操作SQLite數(shù)據(jù)庫詳情
- Python練習(xí)之操作SQLite數(shù)據(jù)庫
相關(guān)文章
TensorFlow 實戰(zhàn)之實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的實例講解
下面小編就為大家分享一篇TensorFlow 實戰(zhàn)之實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
python可視化 matplotlib畫圖使用colorbar工具自定義顏色
這篇文章主要介紹了python可視化 matplotlib畫圖使用colorbar工具自定義顏色,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
python lambda表達式在sort函數(shù)中的使用詳解
這篇文章主要介紹了python lambda表達式在sort函數(shù)中的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
Python使用Flask編寫一個網(wǎng)站的代碼指南
使用Flask編寫一個網(wǎng)站是一個相對簡單且有趣的過程,Flask是一個用Python編寫的輕量級Web應(yīng)用框架,它易于上手,同時也非常強大,適合構(gòu)建從簡單的博客到復(fù)雜的Web應(yīng)用的各種項目,以下是一個使用Flask編寫簡單網(wǎng)站的指南,包括代碼示例,需要的朋友可以參考下2024-11-11
python numpy矩陣信息說明,shape,size,dtype
這篇文章主要介紹了python numpy矩陣信息說明,shape,size,dtype,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

