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ì)語(yǔ)言,也是一種功能強(qiáng)大而完善的通用型語(yǔ)言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python 具有腳本語(yǔ)言中最豐富和強(qiáng)大的類(lèi)庫(kù),足以支持絕大多數(shù)日常應(yīng)用。它具有簡(jiǎn)單、易學(xué)、免費(fèi)、開(kāi)源、可移植性、解釋性、面向?qū)ο?、可擴(kuò)展性、可嵌入性以及豐富的庫(kù)等特性,目前的應(yīng)用范圍也非常廣泛,如系統(tǒng)編程、圖像處理、數(shù)據(jù)庫(kù)編程等方面。
Python開(kāi)發(fā)者可以使用文本編輯器(如Windows的記事本等)或者專(zhuān)業(yè)的IDE(集成開(kāi)發(fā)環(huán)境)來(lái)編寫(xiě)程序代碼。IDE使得開(kāi)發(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為開(kāi)發(fā)平臺(tái)進(jìn)行介紹。
關(guān)于Python程序的運(yùn)行,其實(shí)一個(gè)Python程序就相當(dāng)于一個(gè)應(yīng)用程序,它不需要經(jīng)過(guò)編譯,只需要用戶(hù)電腦上面安裝Python環(huán)境即可。要運(yùn)行一個(gè)py程序,直接雙擊這個(gè)py文件即可。一般情況下,沒(méi)有提示用戶(hù)輸入或控制屏幕顯示,打開(kāi)一個(gè)py文件時(shí)會(huì)突然閃一下馬上就退出,這是由于程序運(yùn)行已經(jīng)完成了。若需要顯示,則要添加一個(gè)屏幕暫停的代碼:
os.system('pause')
在使用這個(gè)代碼前,需要引用os模塊:import os
下面開(kāi)始介紹刪除文件的Python程序設(shè)計(jì):
很多軟件在運(yùn)行時(shí)會(huì)自動(dòng)創(chuàng)建一些備份文件,在程序退出后又不自動(dòng)刪除備份文件,隨著文件數(shù)量的增加,每隔一段時(shí)間就要清理一下。如果文件數(shù)量比較多,手工清理顯然比較麻煩。于是可以編寫(xiě)一個(gè)Python腳本來(lái)完成該任務(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 "完成!"
#提示用戶(hù)輸入目錄路徑
path=raw_input("請(qǐng)輸入要?jiǎng)h除文件所在目錄:(如D:\\temp)")
if os.path.exists(path)==False: #檢查用戶(hù)輸入的目錄是否存在,如果不存在則退出程序
print "輸入的目錄不存在!"
os._exit(1)
os.path.walk(path, scan, 0)
os.system('pause')
運(yùn)行該程序,它將刪除用戶(hù)指定目錄下的以波浪符號(hào)(~)開(kāi)頭或以后綴(.bak)結(jié)尾的文件。運(yùn)行結(jié)果如下圖所示:
下面來(lái)分析這段代碼。首先,系統(tǒng)操作都在os模型中,所有首先需要導(dǎo)入os模型。然后提示用戶(hù)輸入文件目錄,同時(shí)檢查用戶(hù)輸入的文件目錄是否正確。檢驗(yàn)?zāi)夸浭欠翊嬖谑褂胦s.path.exists(path)方法,如果返回True則表示目錄存在,如果返回False則表示不存在,則退出程序。退出Python程序采用os._exit(1)方法。os.path.walk()方法是訪(fǎng)問(wèn)目錄中的每個(gè)目錄以及文件,在該方法內(nèi)調(diào)用函數(shù)scan。函數(shù)scan的參數(shù)指定為3個(gè),其中names表示目錄內(nèi)所有文件的名稱(chēng),為列表類(lèi)型。然后對(duì)于每一個(gè)文件檢查其文件名是否符合要?jiǎng)h除文件名的特征(以波浪符號(hào)(~)開(kāi)頭或以后綴(.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開(kāi)發(fā)者可以使用文本編輯器(如Windows的記事本等)或者專(zhuān)業(yè)的IDE(集成開(kāi)發(fā)環(huán)境)來(lái)編寫(xiě)程序代碼。IDE使得開(kāi)發(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為開(kāi)發(fā)平臺(tái)進(jìn)行介紹。
關(guān)于Python程序的運(yùn)行,其實(shí)一個(gè)Python程序就相當(dāng)于一個(gè)應(yīng)用程序,它不需要經(jīng)過(guò)編譯,只需要用戶(hù)電腦上面安裝Python環(huán)境即可。要運(yùn)行一個(gè)py程序,直接雙擊這個(gè)py文件即可。一般情況下,沒(méi)有提示用戶(hù)輸入或控制屏幕顯示,打開(kāi)一個(gè)py文件時(shí)會(huì)突然閃一下馬上就退出,這是由于程序運(yùn)行已經(jīng)完成了。若需要顯示,則要添加一個(gè)屏幕暫停的代碼:
os.system('pause')
在使用這個(gè)代碼前,需要引用os模塊:import os
下面開(kāi)始介紹刪除文件的Python程序設(shè)計(jì):
很多軟件在運(yùn)行時(shí)會(huì)自動(dòng)創(chuàng)建一些備份文件,在程序退出后又不自動(dòng)刪除備份文件,隨著文件數(shù)量的增加,每隔一段時(shí)間就要清理一下。如果文件數(shù)量比較多,手工清理顯然比較麻煩。于是可以編寫(xiě)一個(gè)Python腳本來(lái)完成該任務(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 "完成!"
#提示用戶(hù)輸入目錄路徑
path=raw_input("請(qǐng)輸入要?jiǎng)h除文件所在目錄:(如D:\\temp)")
if os.path.exists(path)==False: #檢查用戶(hù)輸入的目錄是否存在,如果不存在則退出程序
print "輸入的目錄不存在!"
os._exit(1)
os.path.walk(path, scan, 0)
os.system('pause')
運(yùn)行該程序,它將刪除用戶(hù)指定目錄下的以波浪符號(hào)(~)開(kāi)頭或以后綴(.bak)結(jié)尾的文件。運(yùn)行結(jié)果如下圖所示:
下面來(lái)分析這段代碼。首先,系統(tǒng)操作都在os模型中,所有首先需要導(dǎo)入os模型。然后提示用戶(hù)輸入文件目錄,同時(shí)檢查用戶(hù)輸入的文件目錄是否正確。檢驗(yàn)?zāi)夸浭欠翊嬖谑褂胦s.path.exists(path)方法,如果返回True則表示目錄存在,如果返回False則表示不存在,則退出程序。退出Python程序采用os._exit(1)方法。os.path.walk()方法是訪(fǎng)問(wèn)目錄中的每個(gè)目錄以及文件,在該方法內(nèi)調(diào)用函數(shù)scan。函數(shù)scan的參數(shù)指定為3個(gè),其中names表示目錄內(nèi)所有文件的名稱(chēng),為列表類(lèi)型。然后對(duì)于每一個(gè)文件檢查其文件名是否符合要?jiǎng)h除文件名的特征(以波浪符號(hào)(~)開(kāi)頭或以后綴(.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)文章
pycharm激活碼免費(fèi)分享適用最新pycharm2020.2.3永久激活
免費(fèi)為大家分享Pycharm激活碼,適用最新版pycharm2020.2.3永久激活,pycharm2018,pycharm2019也可永久激活,可成功激活到2089年2020-11-11簡(jiǎn)單的Python動(dòng)態(tài)可視化神器,編程小白也能上手
這篇文章就來(lái)介紹簡(jiǎn)單的Python動(dòng)態(tài)可視化神器,最近發(fā)現(xiàn)了一個(gè)寶藏動(dòng)態(tài)可視化庫(kù),非常簡(jiǎn)單,即使是小白也能輕松上手。這個(gè)庫(kù)就是motionchart,它能夠用 pandas 的 dataframe 數(shù)據(jù)直接創(chuàng)建交互式的動(dòng)態(tài)圖表,下面來(lái)簡(jiǎn)單看一下如何使用。2021-10-10用python實(shí)現(xiàn)九九乘法表實(shí)例
大家好,本篇文章主要講的是用python實(shí)現(xiàn)九九乘法表實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下2022-01-01python字典中g(shù)et()函數(shù)的基本用法實(shí)例
在字典內(nèi)置的方法中,想說(shuō)的方法為get,這個(gè)方法是通過(guò)鍵來(lái)獲取相應(yīng)的值,但是如果相應(yīng)的鍵不存在則返回None,這篇文章主要給大家介紹了關(guān)于python字典中g(shù)et()函數(shù)的基本用法,需要的朋友可以參考下2022-03-03Python?Ruby?等語(yǔ)言棄用自增運(yùn)算符原因剖析
這篇文章主要為大家介紹了Python?Ruby?等語(yǔ)言棄用自增運(yùn)算符原因剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Mac PyCharm中的.gitignore 安裝設(shè)置教程
這篇文章主要介紹了Mac PyCharm中的.gitignore 安裝設(shè)置教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04