Python中刪除文件的程序代碼
更新時(shí)間:2011年03月13日 13:57:20 作者:
很多軟件在運(yùn)行時(shí)會(huì)自動(dòng)創(chuàng)建一些備份文件,在程序退出后又不自動(dòng)刪除備份文件,隨著文件數(shù)量的增加,每隔一段時(shí)間就要清理一下。
Python是一種面向?qū)ο蟮慕忉屝缘挠?jì)算機(jī)程序設(shè)計(jì)語言,也是一種功能強(qiáng)大而完善的通用型語言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python 具有腳本語言中最豐富和強(qiáng)大的類庫,足以支持絕大多數(shù)日常應(yīng)用。它具有簡單、易學(xué)、免費(fèi)、開源、可移植性、解釋性、面向?qū)ο?、可擴(kuò)展性、可嵌入性以及豐富的庫等特性,目前的應(yīng)用范圍也非常廣泛,如系統(tǒng)編程、圖像處理、數(shù)據(jù)庫編程等方面。
Python開發(fā)者可以使用文本編輯器(如Windows的記事本等)或者專業(yè)的IDE(集成開發(fā)環(huán)境)來編寫程序代碼。IDE使得開發(fā)者可以很方便地創(chuàng)建、運(yùn)行、調(diào)試Python程序。IDE可以在Python的官方網(wǎng)站(http://www.python.org)下載,目前(2009年9月)最新版本為Python 3.1.1,本文中將以Python 2.6.2為開發(fā)平臺(tái)進(jìn)行介紹。
關(guān)于Python程序的運(yùn)行,其實(shí)一個(gè)Python程序就相當(dāng)于一個(gè)應(yīng)用程序,它不需要經(jīng)過編譯,只需要用戶電腦上面安裝Python環(huán)境即可。要運(yùn)行一個(gè)py程序,直接雙擊這個(gè)py文件即可。一般情況下,沒有提示用戶輸入或控制屏幕顯示,打開一個(gè)py文件時(shí)會(huì)突然閃一下馬上就退出,這是由于程序運(yùn)行已經(jīng)完成了。若需要顯示,則要添加一個(gè)屏幕暫停的代碼:
os.system('pause')
在使用這個(gè)代碼前,需要引用os模塊:import os
下面開始介紹刪除文件的Python程序設(shè)計(jì):
很多軟件在運(yùn)行時(shí)會(huì)自動(dòng)創(chuàng)建一些備份文件,在程序退出后又不自動(dòng)刪除備份文件,隨著文件數(shù)量的增加,每隔一段時(shí)間就要清理一下。如果文件數(shù)量比較多,手工清理顯然比較麻煩。于是可以編寫一個(gè)Python腳本來完成該任務(wù)。如下代碼:
# -*- coding: cp936 -*-
#file:E01.py
import os
#該函數(shù)用于刪除文件
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("請輸入要?jiǎng)h除文件所在目錄:(如D:\\temp)")
if os.path.exists(path)==False: #檢查用戶輸入的目錄是否存在,如果不存在則退出程序
print "輸入的目錄不存在!"
os._exit(1)
os.path.walk(path, scan, 0)
os.system('pause')
運(yùn)行該程序,它將刪除用戶指定目錄下的以波浪符號(hào)(~)開頭或以后綴(.bak)結(jié)尾的文件。運(yùn)行結(jié)果如下圖所示:
下面來分析這段代碼。首先,系統(tǒng)操作都在os模型中,所有首先需要導(dǎo)入os模型。然后提示用戶輸入文件目錄,同時(shí)檢查用戶輸入的文件目錄是否正確。檢驗(yàn)?zāi)夸浭欠翊嬖谑褂胦s.path.exists(path)方法,如果返回True則表示目錄存在,如果返回False則表示不存在,則退出程序。退出Python程序采用os._exit(1)方法。os.path.walk()方法是訪問目錄中的每個(gè)目錄以及文件,在該方法內(nèi)調(diào)用函數(shù)scan。函數(shù)scan的參數(shù)指定為3個(gè),其中names表示目錄內(nèi)所有文件的名稱,為列表類型。然后對于每一個(gè)文件檢查其文件名是否符合要?jiǎng)h除文件名的特征(以波浪符號(hào)(~)開頭或以后綴(.bak)結(jié)尾的文件),如果符合要求,則采用os.remove(file)方法刪除。在此值得注意的是,采用os.remove(file)方法刪除文件,要求參數(shù)file為全路徑和文件名,如D:\temp\1.bak。
如果要?jiǎng)h除tmp臨時(shí)文件,只需要將上段代碼中的“file[-4:]==".bak"”更改為“file[-4:]==".tmp"”即可。最后一句(os.system('pause'))表示屏幕暫停。
Python開發(fā)者可以使用文本編輯器(如Windows的記事本等)或者專業(yè)的IDE(集成開發(fā)環(huán)境)來編寫程序代碼。IDE使得開發(fā)者可以很方便地創(chuàng)建、運(yùn)行、調(diào)試Python程序。IDE可以在Python的官方網(wǎng)站(http://www.python.org)下載,目前(2009年9月)最新版本為Python 3.1.1,本文中將以Python 2.6.2為開發(fā)平臺(tái)進(jìn)行介紹。
關(guān)于Python程序的運(yùn)行,其實(shí)一個(gè)Python程序就相當(dāng)于一個(gè)應(yīng)用程序,它不需要經(jīng)過編譯,只需要用戶電腦上面安裝Python環(huán)境即可。要運(yùn)行一個(gè)py程序,直接雙擊這個(gè)py文件即可。一般情況下,沒有提示用戶輸入或控制屏幕顯示,打開一個(gè)py文件時(shí)會(huì)突然閃一下馬上就退出,這是由于程序運(yùn)行已經(jīng)完成了。若需要顯示,則要添加一個(gè)屏幕暫停的代碼:
os.system('pause')
在使用這個(gè)代碼前,需要引用os模塊:import os
下面開始介紹刪除文件的Python程序設(shè)計(jì):
很多軟件在運(yùn)行時(shí)會(huì)自動(dòng)創(chuàng)建一些備份文件,在程序退出后又不自動(dòng)刪除備份文件,隨著文件數(shù)量的增加,每隔一段時(shí)間就要清理一下。如果文件數(shù)量比較多,手工清理顯然比較麻煩。于是可以編寫一個(gè)Python腳本來完成該任務(wù)。如下代碼:
復(fù)制代碼 代碼如下:
# -*- coding: cp936 -*-
#file:E01.py
import os
#該函數(shù)用于刪除文件
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("請輸入要?jiǎng)h除文件所在目錄:(如D:\\temp)")
if os.path.exists(path)==False: #檢查用戶輸入的目錄是否存在,如果不存在則退出程序
print "輸入的目錄不存在!"
os._exit(1)
os.path.walk(path, scan, 0)
os.system('pause')
運(yùn)行該程序,它將刪除用戶指定目錄下的以波浪符號(hào)(~)開頭或以后綴(.bak)結(jié)尾的文件。運(yùn)行結(jié)果如下圖所示:
下面來分析這段代碼。首先,系統(tǒng)操作都在os模型中,所有首先需要導(dǎo)入os模型。然后提示用戶輸入文件目錄,同時(shí)檢查用戶輸入的文件目錄是否正確。檢驗(yàn)?zāi)夸浭欠翊嬖谑褂胦s.path.exists(path)方法,如果返回True則表示目錄存在,如果返回False則表示不存在,則退出程序。退出Python程序采用os._exit(1)方法。os.path.walk()方法是訪問目錄中的每個(gè)目錄以及文件,在該方法內(nèi)調(diào)用函數(shù)scan。函數(shù)scan的參數(shù)指定為3個(gè),其中names表示目錄內(nèi)所有文件的名稱,為列表類型。然后對于每一個(gè)文件檢查其文件名是否符合要?jiǎng)h除文件名的特征(以波浪符號(hào)(~)開頭或以后綴(.bak)結(jié)尾的文件),如果符合要求,則采用os.remove(file)方法刪除。在此值得注意的是,采用os.remove(file)方法刪除文件,要求參數(shù)file為全路徑和文件名,如D:\temp\1.bak。
如果要?jiǎng)h除tmp臨時(shí)文件,只需要將上段代碼中的“file[-4:]==".bak"”更改為“file[-4:]==".tmp"”即可。最后一句(os.system('pause'))表示屏幕暫停。
相關(guān)文章
Python如何保留float類型小數(shù)點(diǎn)后3位
這篇文章主要介紹了Python如何保留float類型小數(shù)點(diǎn)后3位,具有很好的參考價(jià)值,希望對的大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
pycharm開發(fā)一個(gè)簡單界面和通用mvc模板(操作方法圖解)
這篇文章主要介紹了pycharm開發(fā)最簡單的界面和通用mvc模板的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
用Python刪除本地目錄下某一時(shí)間點(diǎn)之前創(chuàng)建的所有文件的實(shí)例
下面小編就為大家分享一篇用Python刪除本地目錄下某一時(shí)間點(diǎn)之前創(chuàng)建的所有文件的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
python中分組函數(shù)groupby和分組運(yùn)算函數(shù)agg的使用
本文主要介紹了python中分組函數(shù)groupby和分組運(yùn)算函數(shù)agg的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
Python中@classmethod和@staticmethod的區(qū)別
本文主要介紹了Python中@classmethod和@staticmethod的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
使用python進(jìn)行廣告點(diǎn)擊率的預(yù)測的實(shí)現(xiàn)
這篇文章主要介紹了使用python進(jìn)行廣告點(diǎn)擊率的預(yù)測的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
如何使用Django默認(rèn)的Auth權(quán)限管理系統(tǒng)
本文主要介紹了如何使用Django默認(rèn)的Auth權(quán)限管理系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

