Python中刪除文件的程序代碼
更新時(shí)間:2011年03月13日 13:57:20 作者:
很多軟件在運(yùn)行時(shí)會自動創(chuà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ā)平臺進(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í)會突然閃一下馬上就退出,這是由于程序運(yùn)行已經(jīng)完成了。若需要顯示,則要添加一個(gè)屏幕暫停的代碼:
os.system('pause')
在使用這個(gè)代碼前,需要引用os模塊:import os
下面開始介紹刪除文件的Python程序設(shè)計(jì):
很多軟件在運(yùn)行時(shí)會自動創(chuà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("請輸入要刪除文件所在目錄:(如D:\\temp)")
if os.path.exists(path)==False: #檢查用戶輸入的目錄是否存在,如果不存在則退出程序
print "輸入的目錄不存在!"
os._exit(1)
os.path.walk(path, scan, 0)
os.system('pause')
運(yùn)行該程序,它將刪除用戶指定目錄下的以波浪符號(~)開頭或以后綴(.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è)文件檢查其文件名是否符合要刪除文件名的特征(以波浪符號(~)開頭或以后綴(.bak)結(jié)尾的文件),如果符合要求,則采用os.remove(file)方法刪除。在此值得注意的是,采用os.remove(file)方法刪除文件,要求參數(shù)file為全路徑和文件名,如D:\temp\1.bak。
如果要刪除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ā)平臺進(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í)會突然閃一下馬上就退出,這是由于程序運(yùn)行已經(jīng)完成了。若需要顯示,則要添加一個(gè)屏幕暫停的代碼:
os.system('pause')
在使用這個(gè)代碼前,需要引用os模塊:import os
下面開始介紹刪除文件的Python程序設(shè)計(jì):
很多軟件在運(yùn)行時(shí)會自動創(chuà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("請輸入要刪除文件所在目錄:(如D:\\temp)")
if os.path.exists(path)==False: #檢查用戶輸入的目錄是否存在,如果不存在則退出程序
print "輸入的目錄不存在!"
os._exit(1)
os.path.walk(path, scan, 0)
os.system('pause')
運(yùn)行該程序,它將刪除用戶指定目錄下的以波浪符號(~)開頭或以后綴(.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è)文件檢查其文件名是否符合要刪除文件名的特征(以波浪符號(~)開頭或以后綴(.bak)結(jié)尾的文件),如果符合要求,則采用os.remove(file)方法刪除。在此值得注意的是,采用os.remove(file)方法刪除文件,要求參數(shù)file為全路徑和文件名,如D:\temp\1.bak。
如果要刪除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簡單的Python動態(tài)可視化神器,編程小白也能上手
這篇文章就來介紹簡單的Python動態(tài)可視化神器,最近發(fā)現(xiàn)了一個(gè)寶藏動態(tài)可視化庫,非常簡單,即使是小白也能輕松上手。這個(gè)庫就是motionchart,它能夠用 pandas 的 dataframe 數(shù)據(jù)直接創(chuàng)建交互式的動態(tài)圖表,下面來簡單看一下如何使用。2021-10-10用python實(shí)現(xiàn)九九乘法表實(shí)例
大家好,本篇文章主要講的是用python實(shí)現(xiàn)九九乘法表實(shí)例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01python字典中g(shù)et()函數(shù)的基本用法實(shí)例
在字典內(nèi)置的方法中,想說的方法為get,這個(gè)方法是通過鍵來獲取相應(yīng)的值,但是如果相應(yīng)的鍵不存在則返回None,這篇文章主要給大家介紹了關(guān)于python字典中g(shù)et()函數(shù)的基本用法,需要的朋友可以參考下2022-03-03Python?Ruby?等語言棄用自增運(yùn)算符原因剖析
這篇文章主要為大家介紹了Python?Ruby?等語言棄用自增運(yùn)算符原因剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Mac PyCharm中的.gitignore 安裝設(shè)置教程
這篇文章主要介紹了Mac PyCharm中的.gitignore 安裝設(shè)置教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04