您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Linux端實現文件清理的Python腳本,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Python是一種面向對象的解釋性的計算機程序設計語言,也是一種功能強大而完善的通用型語言,已經具有十多年的發展歷史,成熟且穩定。Python 具有腳本語言中最豐富和強大的類庫,足以支持絕大多數日常應用。它具有簡單、易學、免費、開源、可移植性、解釋性、面向對象、可擴展性、可嵌入性以及豐富的庫等特性,目前的應用范圍也非常廣泛,如系統編程、圖像處理、數據庫編程等方面。
Python開發者可以使用文本編輯器(如Windows的記事本等)或者專業的IDE(集成開發環境)來編寫程序代碼。IDE使得開發者可以很方便地創建、運行、調試Python程序。IDE可以在Python的官方網站(http://www.python.org)下載,目前(2009年9月)最新版本為Python 3.1.1,本文中將以Python 2.6.2為開發平臺進行介紹。
關于Python程序的運行,其實一個Python程序就相當于一個應用程序,它不需要經過編譯,只需要用戶電腦上面安裝Python環境即可。要運行一個py程序,直接雙擊這個py文件即可。一般情況下,沒有提示用戶輸入或控制屏幕顯示,打開一個py文件時會突然閃一下馬上就退出,這是由于程序運行已經完成了。若需要顯示,則要添加一個屏幕暫停的代碼:
os.system('pause')
在使用這個代碼前,需要引用os模塊:import os
下面開始介紹刪除文件的Python程序設計:
很多軟件在運行時會自動創建一些備份文件,在程序退出后又不自動刪除備份文件,隨著文件數量的增加,每隔一段時間就要清理一下。如果文件數量比較多,手工清理顯然比較麻煩。于是可以編寫一個Python腳本來完成該任務。如下代碼:
代碼如下:
# -*- coding: cp936 -*- #file:E01.py import os #該函數用于刪除文件 def scan(arg, dirname, names): for file in names: if file[0]=="~" or file[-4:]==".bak": print "刪除文件:", file file=dirname+"\\"+file os.remove(file) print "完成!" #提示用戶輸入目錄路徑 path=raw_input("請輸入要刪除文件所在目錄:(如D:\\temp)") if os.path.exists(path)==False: #檢查用戶輸入的目錄是否存在,如果不存在則退出程序 print "輸入的目錄不存在!" os._exit(1) os.path.walk(path, scan, 0) os.system('pause')
運行該程序,它將刪除用戶指定目錄下的以波浪符號(~)開頭或以后綴(.bak)結尾的文件。運行結果如下圖所示:
下面來分析這段代碼。首先,系統操作都在os模型中,所有首先需要導入os模型。然后提示用戶輸入文件目錄,同時檢查用戶輸入的文件目錄是否正確。檢驗目錄是否存在使用os.path.exists(path)方法,如果返回True則表示目錄存在,如果返回False則表示不存在,則退出程序。退出Python程序采用os._exit(1)方法。os.path.walk()方法是訪問目錄中的每個目錄以及文件,在該方法內調用函數scan。函數scan的參數指定為3個,其中names表示目錄內所有文件的名稱,為列表類型。然后對于每一個文件檢查其文件名是否符合要刪除文件名的特征(以波浪符號(~)開頭或以后綴(.bak)結尾的文件),如果符合要求,則采用os.remove(file)方法刪除。在此值得注意的是,采用os.remove(file)方法刪除文件,要求參數file為全路徑和文件名,如D:\temp\1.bak。
如果要刪除tmp臨時文件,只需要將上段代碼中的“file[-4:]==".bak"”更改為“file[-4:]==".tmp"”即可。最后一句(os.system('pause'))表示屏幕暫停。
以上就是Linux端實現文件清理的Python腳本,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。