您好,登錄后才能下訂單哦!
這篇文章主要介紹“python尋找含有關(guān)鍵字文件和刪除文件夾的方法”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“python尋找含有關(guān)鍵字文件和刪除文件夾的方法”文章能幫助大家解決問題。
我們往往在操作文件時,會不知道文件具體的路徑。
一般如果只是處理一個文件的話我們可以在文件所在的文件夾下運行python腳本,默認為當前腳本。
而如果一個文件有多層目錄結(jié)構(gòu)時,往往這種方法很有局限性。
例如在處理mesaage文件時,先要解壓一個壓縮文件,其中有兩個文件夾,而每個文件夾下的第四層目錄中都有一個message文件,現(xiàn)在所要做的就是將每個message文件讀入,然后進行分析。
若使用絕對路徑去讀入文件無疑降低了代碼的重用性,所以就寫了一個尋找關(guān)鍵字文件的函數(shù)。(函數(shù)還有很多漏洞,但能解決燃眉之急了。)
#尋找關(guān)鍵字文件 def findfile(keyword,root): #keyword為關(guān)鍵字,root為文件夾路徑 filelist=[] #存放每個文件 rfilelist=[] #存放匹配文件 for root,dirs,files in os.walk(root): for name in files: filelist.append(os.path.join(root,name)) #遍歷路徑文件下的所有文件夾,將所有文件放入filelist for i in filelist: if os.path.isfile(i): if keyword in os.path.basename(os.path.splitext(i)[0]): rfilelist.append(i) else: pass else: pass return rfilelist
有時候解壓出來的文件會很多,而我們希望獲得了有用的數(shù)據(jù)后,將解壓出來的文件再刪除掉,所以就有了刪除解壓文件的函數(shù)。
import shutil #filelist 為解壓出來的文件列表 def delete_unzip(filelist): thfile=filelist for i in thfile: shutil.rmtree(os.path.splitext(i)[0])
使用python刪除一個文件或文件夾
import os os.remove(path) # path是文件的路徑,如果這個路徑是一個文件夾,則會拋出OSError的錯誤,這時需用用rmdir()來刪除 os.rmdir(path) # path是文件夾路徑,注意文件夾需要時空的才能被刪除 os.unlink('F:\新建文本文檔.txt') # unlink的功能和remove一樣是刪除一個文件,但是刪除一個刪除一個正在使用的文件會報錯。
import os path = 'F:/新建文本文檔.txt' # 文件路徑 if os.path.exists(path): # 如果文件存在 # 刪除文件,可使用以下兩種方法。 os.remove(path) #os.unlink(path) else: print('no such file:%s'%my_file) # 則返回文件不存在
import os os.removedirs(path) # 遞歸地刪除目錄。如果子目錄成功被刪除,則將會成功刪除父目錄,子目錄沒成功刪除,將拋異常。 import os for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name))
import shutil shutil.rmtree()
關(guān)于“python尋找含有關(guān)鍵字文件和刪除文件夾的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。