python 查詢資料夾下以特定字元開頭的某型別檔案 - os.walk
阿新 • • 發佈:2022-05-07
Python os.walk() 方法
os.walk() 方法用於通過在目錄樹中游走輸出在目錄中的檔名,向上或者向下。os.walk() 方法是一個簡單易用的檔案、目錄遍歷器,可以幫助我們高效的處理檔案、目錄方面的事情。
在Unix,Windows中有效。
語法
walk()方法語法格式如下:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
引數
-
top -- 是你所要遍歷的目錄的地址, 返回的是一個三元組(root,dirs,files)。topdown --可選,為 True,則優先遍歷 top 目錄,否則優先遍歷 top 的子目錄(預設為開啟)。如果 topdown 引數為 True,walk 會遍歷top資料夾,與top 資料夾中每一個子目錄。
- root 所指的是當前正在遍歷的這個資料夾的本身的地址
- dirs 是一個 list ,內容是該資料夾中所有的目錄的名字(不包括子目錄)
- files 同樣是 list , 內容是該資料夾中所有的檔案(不包括子目錄)
- onerror -- 可選,需要一個 callable 物件,當 walk 需要異常時,會呼叫。
- followlinks -- 可選,如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連線 symbolic link )實際所指的目錄(預設關閉),如果為 False,則優先遍歷 top 的子目錄。
返回值
返回生成器。使用:-遍歷檔案和便利資料夾
def walkFile(file):
for root, dirs, files in os.walk(file):
# root 表示當前正在訪問的資料夾路徑
# dirs 表示該資料夾下的子目錄名list
# files 表示該資料夾下的檔案list
# 遍歷檔案
for f in files:
print(os.path.join(root, f))
# 遍歷所有的資料夾
for d in dirs:
print(os.path.join(root, d))
例項:
import os
def test_findfile(directory, fileType, file_prefix):
fileList = []
for root, subDirs, files in os.walk(directory):
for fileName in files:
if fileName.endswith(fileType) and fileName.startswith(file_prefix):
fileList.append(os.path.join(root, fileName))
return fileList
def list_filess():
dir="C:\\Git\\moxyrulesnewui_python1\\org\\adv\\rules\\UIAutomation\\testcase\\"
fileType=".py" # python 檔案
file_pre="test_" # 檔案以tes_開頭
fileList = test_findfile(dir, fileType,file_pre)
# print(fileList)
for item in fileList:
print(item)