亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么實現遞歸遍歷文件夾搜索文件

發布時間:2021-11-20 14:20:59 來源:億速云 閱讀:422 作者:iii 欄目:編程語言

本篇內容主要講解“Python怎么實現遞歸遍歷文件夾搜索文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python怎么實現遞歸遍歷文件夾搜索文件”吧!

開發背景:

電腦的E盤里有很多電子書,以前對個技術比較感興趣就去下載很多電子書,有些看了,有些沒看,這些電子書沒有在一個地方,于是我準備寫一個腳本,將這個電子書書搜索出來,進行整理一下。

程序設計的思路:

定義一個搜索的根目錄baseDir,一個不搜索的文件夾列表notSearhFolderArr,一個搜索的文件類型列表searchTypeArr,

判斷根目錄baseDir是有效的,并且不存在于notSearhFolderArr數組中,

獲取文件夾下的所有文件及文件夾,

遍歷,判斷子元素是文件就,判斷文件類型是否存在于searchTypeArr,如果存在返回路徑

判斷子元素,是文件夾并且不屬于notSearhFolderArr數組中, 執行第一步,進行遞歸搜索

代碼:

 # 根據配置好的文件,搜索文件夾import osimport ioimport sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')# 主函數baseDir = "E:\\Pang\\for_search" # 搜索的根目錄notSearchFolderArr = ['node_modules'] # 不搜索的目錄searchFileTypeArr = ['.pdf','.PDF'] # 搜索的文件類型def searhMain():
 allResArr = searchFolder(baseDir)
 print('\n'.join(allResArr))# 搜索一個文件目錄 傳入一個文件目錄路徑def searchFolder(folderPath):
 folderName = os.path.split(folderPath)[-1]
 searFilePathArr = [] if os.path.exists(folderPath) and (folderName not in notSearchFolderArr):
 fileArr = os.listdir(folderPath) for item in fileArr:
 currentPath = folderPath+'\\'+item
 (fileName,fileType) = os.path.splitext(item) if os.path.isfile(currentPath) and (fileType in searchFileTypeArr):
 searFilePathArr.append(currentPath) if os.path.isdir(currentPath) and (item not in notSearchFolderArr):
 innerFileArr = searchFolder(currentPath)
 searFilePathArr.extend(innerFileArr) return searFilePathArr
searhMain()

主要用到的模塊和api:

模塊 os: 操作文件的模塊

主要api:

os.path.split : 分割路徑
os.path.exists: 路徑是否存在
os.listdir: 路徑是否是文件夾
os.path.splitext:拆分路徑中的文件擴展名于其他
os.path.isfile: 路徑是否是文件
append: 向數組中追加一個元素
extend: 向數組追加一個數組

運行結果:

程序返回的事根目錄下所有的pdf文件路徑列表

Python怎么實現遞歸遍歷文件夾搜索文件

這個腳本稍作修改就可以查詢多個文件類型,對文件進行分類,獲取要查詢的文件路徑后,還可以對文件,進行批量備份到一個文件夾下,或者將搜索結果直接打包壓縮。現在怎么玩都可以。

到此,相信大家對“Python怎么實現遞歸遍歷文件夾搜索文件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广平县| 鄢陵县| 越西县| 高阳县| 洪洞县| 溧水县| 临夏县| 镇巴县| 湘乡市| 漳浦县| 彩票| 浏阳市| 辽阳县| 彭阳县| 卓资县| 凌源市| 瑞金市| 师宗县| 龙山县| 拉孜县| 原阳县| 姜堰市| 柏乡县| 济南市| 开远市| 新余市| 德钦县| 离岛区| 望江县| 搜索| 三河市| 北辰区| 都江堰市| 福泉市| 宜章县| 苍梧县| 梅河口市| 壤塘县| 盐山县| 万源市| 星子县|