查詢某資料夾下所有子資料夾內的py檔案-3一行程式碼搞定
轉自:https://mp.weixin.qq.com/s/FFXh8gRci4hMo6_gnBMPUg
工作中,有時會產生查詢某一類檔案的需求,比如log檔案。或者在做影像類深度學習時,需要讀取大類資料夾下,所有小類資料夾下的圖片。專門為這個需求寫一個函式太耽誤時間。所以,今天分享一個我工作中遇到的第三方庫imutils,並分享一下我對原始碼的理解。
from imutils import paths
# 要在哪條路徑下查詢
path = `…`
# 查詢圖片,得到圖片路徑
imagePaths = list(imutils.paths.list_images(basePath=path))
# 所有py檔案,得到py檔案路徑
imagePaths = list(imutils.paths.list_files(basePath=path,,validExts=(`.py`)))
# 原始碼解讀
def list_files(basePath, validExts=(“.jpg”, “.jpeg”, “.png”, “.bmp”, “.tif”, “.tiff”), contains=None):
# loop over the directory structure
for (rootDir, dirNames, filenames) in os.walk(basePath):
# loop over the filenames in the current directory
for filename in filenames:
# if the contains string is not none and the filename does not contain
# the supplied string, then ignore the file
if contains is not None and filename.find(contains) == -1:
continue
# determine the file extension of the current file
ext = filename[filename.rfind(“.”):].lower()
# check to see if the file is an image and should be processed
if ext.endswith(validExts):
# construct the path to the image and yield it
imagePath = os.path.join(rootDir, filename).replace(” “, “\ “)
yield imagePath
引數contains表示找到給定路徑下,給定字尾檔案型別,檔名中包含contains提供欄位的檔案
rfind() 返回字串最後一次出現的位置(從右向左查詢),如果沒有匹配項則返回-1
ext = filename[filename.rfind(“.”):].lower() 將檔案字尾轉換成小寫
ext.endswith(validExts) 匹配字尾,將檔案路徑中的空字串” “,轉化為“\ “
轉自:https://mp.weixin.qq.com/s/FFXh8gRci4hMo6_gnBMPUg
相關文章
- 獲取資料夾及其子資料夾下的所有檔案
- python 如何刪除資料夾下的所有檔案和子資料夾?Python
- C++讀取某個資料夾下面的子資料夾及其所有檔案C++
- Linux統計某資料夾下檔案、資料夾的個數Linux
- Win2000定時刪除資料夾內所有子資料夾和檔案
- Python求取資料夾內的檔案數量、子資料夾內的檔案數量Python
- 3行程式碼列出硬碟上所有檔案及資料夾行程硬碟
- asp.net 遞迴刪除資料夾及其子資料夾和所有檔案[轉]ASP.NET遞迴
- LINUX下查詢大檔案及大的資料夾Linux
- matlab遍歷資料夾下的所有檔案Matlab
- linux刪除資料夾下所有檔案命令是什麼 linux刪除資料夾下內所有內容怎麼操作Linux
- 顯示所有檔案和資料夾"失效 解決無法顯示所有檔案和資料夾
- android 統計資料夾大小及刪除資料夾下所有檔案和路徑Android
- 遞迴遍歷磁碟下的某一資料夾中所有檔案,並copy檔案生成檔案和帶資料夾的檔案遞迴
- Android遞迴刪除資料夾下所有檔案Android遞迴
- Linux查詢哪個程式佔用檔案或資料夾Linux
- Sublime Text 查詢時排除指定的資料夾或檔案
- .Net引用根目錄子資料夾下的dll檔案
- NodeJs批量require資料夾中的所有檔案NodeJSUI
- Android程式函式 將assets資料夾下的檔案複製到手機的sd卡中(包括子資料夾)Android函式SD卡
- 畸形檔案 資料夾
- Python批量修改資料夾內所有json檔案中部分內容PythonJSON
- Qt 選擇資料夾、建立資料夾以及建立檔案QT
- python列出資料夾所有檔案有哪些方法?Python
- find 按檔案修改時間查詢檔案及find空資料夾
- linux批量替換指定資料夾中所有檔案的指定內容Linux
- 批量提取資料夾內檔名
- 讀取資料夾檔案
- 刪除指定資料夾的檔案內容的sh指令碼指令碼
- 把多個資料夾中的檔案批量放到一個資料夾
- 獲取一個資料夾下所有指定字尾名(.java)的檔案(包括子資料夾中的內容),並將這些檔案的絕對路徑寫入到一個文字檔案中Java
- 工作經驗: linux 壓縮當前資料夾下所有檔案Linux
- python實現將資料夾內所有txt檔案合併成一個檔案Python
- Python3如何檢查檔案或資料夾是否存在?Python
- python的應用 | 提取指定資料夾下所有PDF檔案的頁數Python
- 轉移資料夾及其裡面所有內容
- bootstrap3.x內less資料夾的檔案內容及功能分析boot
- linux監控資料夾內的檔案數量Linux