日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python尋找含有關鍵字文件和刪除文件夾方式_python

作者:solitary_w ? 更新時間: 2022-04-15 編程語言

尋找含有關鍵字文件和刪除文件夾

我們往往在操作文件時,會不知道文件具體的路徑。

一般如果只是處理一個文件的話我們可以在文件所在的文件夾下運行python腳本,默認為當前腳本。

而如果一個文件有多層目錄結構時,往往這種方法很有局限性。

例如在處理mesaage文件時,先要解壓一個壓縮文件,其中有兩個文件夾,而每個文件夾下的第四層目錄中都有一個message文件,現在所要做的就是將每個message文件讀入,然后進行分析。

若使用絕對路徑去讀入文件無疑降低了代碼的重用性,所以就寫了一個尋找關鍵字文件的函數。(函數還有很多漏洞,但能解決燃眉之急了。)

#尋找關鍵字文件 
def findfile(keyword,root): 
#keyword為關鍵字,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

以上為簡單的關鍵字文件查找

有時候解壓出來的文件會很多,而我們希望獲得了有用的數據后,將解壓出來的文件再刪除掉,所以就有了刪除解壓文件的函數。

在此處先要導入shutil包

import shutil?
#filelist ?為解壓出來的文件列表?
def ?delete_unzip(filelist):
? ? ? ? thfile=filelist
? ? ? ? for i in thfile:
? ? ? ? ? ? ? ? shutil.rmtree(os.path.splitext(i)[0])

python刪除一個文件或文件夾

使用python刪除一個文件或文件夾

需要使用os模塊

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()

原文鏈接:https://blog.csdn.net/qq_38328875/article/details/79555108

欄目分類
最近更新