pthon本地掃描1python本地掃描_第1頁
pthon本地掃描1python本地掃描_第2頁
pthon本地掃描1python本地掃描_第3頁
pthon本地掃描1python本地掃描_第4頁
pthon本地掃描1python本地掃描_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

掌握Python本地掃描目錄快速查詢本地文件2界定垃圾文件并掃描遞歸遍歷目錄掃描大文件掃描本地病毒遞歸遍歷目錄3程序調(diào)用自身的編程技巧稱為遞歸。遞歸作為一種程序設(shè)計(jì)技巧在程序設(shè)計(jì)語言中廣泛應(yīng)用。遞歸的一個(gè)例子:1,1,2,3,5,8,13,21,34,55…

遞歸遍歷目錄4在Python中,可以使用os模塊中的listdir方法獲取當(dāng)前目錄下所有的目錄以及文件。對(duì)于文件,就直接打印出來,對(duì)于目錄,繼續(xù)對(duì)它進(jìn)行遍歷。遞歸遍歷目錄5快速查詢本地文件6windows自帶的資源管理器提供了查詢文件的功能,但是速度慢,用戶體驗(yàn)不好,使用Python開發(fā)一個(gè)本地文件快速查詢工具,這個(gè)工具可以以極快的速度按照給定的文件名查詢本地文件。本工具的原理非常簡(jiǎn)單,遞歸遍歷指定的要查詢的目錄,將文件名存入數(shù)據(jù)庫,搜索文件的時(shí)候直接查詢數(shù)據(jù)庫??焖俨樵儽镜匚募?在本場(chǎng)景中,使用本節(jié)已經(jīng)編寫的遞歸遍歷目錄的程序遍歷目錄,使用sqlite3存儲(chǔ)數(shù)據(jù)。sqlite3是一個(gè)自給自足的、無服務(wù)器的、零配置的、事務(wù)性的輕量級(jí)的SQL數(shù)據(jù)庫引擎,它提供了Python接口。sqlite3的數(shù)據(jù)庫是一個(gè)普通文件,使用sqlite3客戶端打開后可以執(zhí)行相應(yīng)的SQL語句。在Python中,在使用sqlite3前需要導(dǎo)入sqlite3模塊??焖俨樵儽镜匚募?實(shí)例:使用Python操作sqlite3數(shù)據(jù)庫,生成一個(gè)學(xué)生表并插入數(shù)據(jù)。快速查詢本地文件9快速查詢本地文件10首先創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)庫中存放兩個(gè)內(nèi)容,自增長主鍵和文件的絕對(duì)路徑然后遞歸遍歷文件,將文件名寫入數(shù)據(jù)庫。在寫入完成后,等待用戶輸入。查詢的方法是使用SQL語句select*fromfileswherefile_pathlike%關(guān)鍵字%,快速查詢本地文件11掃描大文件12os模塊提供了查詢文件大小的功能,os.path.getsize可以獲得文件的大小。掃描大文件13該模塊獲取的文件的大小為字節(jié),即bytes,我們需要把他轉(zhuǎn)換成適合我們閱讀的單位,如MB,GB和TB。掃描大文件14使用遞歸遍歷目錄的方法,在遍歷的時(shí)候添加判斷大小的邏輯。首先定義閾值,程序會(huì)列出文件大小大于該閾值的文件,若當(dāng)前遍歷的目標(biāo)是文件,則使用os.path.getsize獲得文件的大小,然后判斷文件大小是否大于閾值。如果大于閾值,則將文件大小轉(zhuǎn)換為便于閱讀的格式,輸出文件名以及文件大小。掃描大文件15界定垃圾文件并掃描16在windows主機(jī)或云服務(wù)器運(yùn)行過程中,系統(tǒng)會(huì)產(chǎn)生很多垃圾文件,隨著系統(tǒng)使用時(shí)間的增加,垃圾文件會(huì)越來越多,影響系統(tǒng)的運(yùn)行。windows系統(tǒng)中常見的可以刪除的文件類型有:臨時(shí)文件(*.tmp、*._mp),日志文件(*.log),臨時(shí)幫助文件(*.gid),磁盤檢查文件(*.chk),臨時(shí)備份文件(*.old),Excel備份文件(*.xlk),臨時(shí)備份文件(*.bak)。在用戶目錄的有:COOKIE(cookies\*.*),文件使用記錄(recent\*.*),IE臨時(shí)文件(TemporaryInternetFiles\*.*),臨時(shí)文件文件夾,Temp\*.*。在Windows目錄下有:預(yù)讀取數(shù)據(jù)文件夾(prefetch\*.*),臨時(shí)文件(temp\*.*)。界定垃圾文件并掃描17界定垃圾文件的方法很簡(jiǎn)單,之前我們已經(jīng)學(xué)習(xí)了遞歸遍歷目錄的方法,在遍歷目錄的時(shí)候,我們可以取出文件的擴(kuò)展名,如果指定的目錄下有擴(kuò)展名為tmp、mp、log、gid、chk、old、xlk、bak等的文件,則我們認(rèn)為該文件是垃圾文件。將垃圾文件的絕對(duì)路徑保存,最后統(tǒng)一刪除。界定垃圾文件并掃描18掃描本地病毒19在Windows主機(jī)或者云服務(wù)器運(yùn)行的過程中,系統(tǒng)可能感染各種各樣的病毒,當(dāng)系統(tǒng)管理員發(fā)現(xiàn)系統(tǒng)運(yùn)行出現(xiàn)異常,則可以使用病毒和惡意文件掃描程序?qū)ο到y(tǒng)進(jìn)行檢查。每一個(gè)文件都有一個(gè)唯一的與文件內(nèi)容有關(guān)的指紋。該指紋與文件內(nèi)容有關(guān),而與文件位置、文件名無關(guān)??梢杂迷撝祦砼袛嘁粋€(gè)文件是否為病毒。建立一個(gè)數(shù)據(jù)庫,該數(shù)據(jù)庫中包含了已知的病毒文件和該病毒文件所對(duì)應(yīng)的指紋值,然后掃描系統(tǒng)中所有文件,與病毒庫中的病毒文件的指紋值作比較,若系統(tǒng)中某個(gè)文件的md5值與病毒庫中的某個(gè)文件的指紋值相同,則說明它們是相同文件,則該文件為病毒。掃描本地病毒20運(yùn)行sql_init.py文件在當(dāng)前目錄下生成一個(gè)病毒數(shù)據(jù)庫,病毒數(shù)據(jù)庫的數(shù)據(jù)表名為virus,表中有三列,第一列是自增長的id,第二列是文件的描述,列名為description,第三列為文件的指紋值,列名為md5。掃描本地病毒21首先編寫獲取文件指紋值的方法。使用hashlib模塊的md5方法。首先需要導(dǎo)入ha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論