日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

用Python实现目录遍历及文件搜索

發(fā)布時(shí)間:2023/12/14 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python实现目录遍历及文件搜索 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前面我們已經(jīng)掌握了目錄的創(chuàng)建、修改和刪除方法,但是要開發(fā)文件資源管理器程序,僅有這些知識(shí)還是不夠的。我們還有下面的問題需要解決:如何遍歷目錄中所有的文件?如何在目錄中搜索到指定的文件?當(dāng)目錄中有子目錄時(shí)該如何處理?

如何遍歷目錄中所有的文件?

遍歷就是對(duì)目錄中的所有文件按順序逐個(gè)訪問。例如程序要求列出某個(gè)目錄中所有的文件名稱,我們就需要訪問這個(gè)目錄中所有的文件并獲取文件的名稱,然后將獲取的文件名稱輸出到屏幕上。

那么,我們?nèi)绾伪闅v目錄中所有的文件呢?Python語言的OS模塊為我們提供了兩個(gè)列出目錄中所有文件的方法

例1:使用listdir遍歷目錄文件

例1使用OS模塊的listdir方法遍歷D盤盤符下的pub目錄,listdir返回一個(gè)列表,列表包含pub目錄下所有文件名稱,然后使用for循環(huán)輸出列表。

?

從例1的輸出結(jié)果可以看出,listdir方法僅返回了文件名稱,如果我們需要輸出文件的整個(gè)路徑,該如何處理呢?只需要使用os模塊下的join方法連接遍歷的目錄路徑和文件名稱就可以了。修改例1的代碼如下:

?

從上圖輸出結(jié)果可以看出,pub目錄下的所有文件以完整路徑輸出。但有一個(gè)問題,就是在pub目錄下有doc子目錄,該子目錄下的文件并沒有列出,下面我們將討論當(dāng)目錄包含子目錄時(shí)該如何處理?

當(dāng)目錄中有子目錄時(shí)該如何處理?

在例1中要遍歷的pub目錄下面有doc子目錄,例1的程序并沒有列出doc子目錄下的文件,我們現(xiàn)在希望也能遍歷doc子目錄下的文件。這時(shí)我們就要使用walk方法了,walk方法可以遞歸遍歷目錄下面的所有文件和子目錄。

例2:使用walk遞歸遍歷目錄文件

例2中使用walk方法遞歸遍歷目錄文件,walk方法會(huì)返回一個(gè)三元組,分別是root、dirs和files。其中root是當(dāng)前正在遍歷的目錄路徑;dirs是一個(gè)列表,包含當(dāng)前正在遍歷的目錄下所有的子目錄名稱,不包含該目錄下的文件;files也是一個(gè)列表,包含當(dāng)前正在遍歷的目錄下所有的文件,但不包含子目錄。

前面我們實(shí)現(xiàn)了在指定的目錄中遍歷所有文件,也包括子目錄的遍歷,下面我們來看看如何在指定的目錄中搜索文件。

如何在指定的目錄中搜索文件?

實(shí)現(xiàn)在指定的目錄中搜索文件,主要實(shí)現(xiàn)思路是使用walk方法遞歸遍歷要搜索的目錄,在遞歸遍歷過程中,使用for循環(huán)遍歷walk方法返回的files列表,判斷files列表中的文件名稱是否和要搜索的文件名稱相同,若相同就輸出該文件。

例3:在指定的目錄中搜索文件

例3使用walk方法遞歸遍歷pub目錄,使用walk方法主要是考慮到pub目錄下有子目錄,也需要在子目錄中搜索文件。

總結(jié)

以上是生活随笔為你收集整理的用Python实现目录遍历及文件搜索的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。