網站首頁 編程語言 正文
尋找含有關鍵字文件和刪除文件夾
我們往往在操作文件時,會不知道文件具體的路徑。
一般如果只是處理一個文件的話我們可以在文件所在的文件夾下運行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
相關推薦
- 2022-05-31 詳解Flutter如何繪制曲線,折線圖及波浪動效_Android
- 2022-09-17 go單體日志采集zincsearch方案實現_Golang
- 2023-01-13 Pytorch實現Fashion-mnist分類任務全過程_python
- 2023-07-09 Go語言new與make區別
- 2022-05-01 Python?Pandas讀取Excel日期數據的異常處理方法_python
- 2022-07-11 python利用多線程+隊列技術爬取中介網互聯網網站排行榜_python
- 2023-06-05 Python?numpy有哪些常用數據類型_python
- 2022-10-14 WebSecurityConfigurerAdapter已棄用
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支