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'))表示螢幕暫停。