溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Linux端實(shí)現(xiàn)文件清理的Python腳本

發(fā)布時(shí)間:2020-08-25 10:25:47 來(lái)源:億速云 閱讀:168 作者:Leah 欄目:編程語(yǔ)言

本篇文章給大家分享的是有關(guān)Linux端實(shí)現(xiàn)文件清理的Python腳本,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

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

以上就是Linux端實(shí)現(xiàn)文件清理的Python腳本,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI