1. 程式人生 > 其它 >vue 方法間傳遞資料物件引數

vue 方法間傳遞資料物件引數

技術標籤:Pythonpythonos

1,搜尋檔案,檔案過濾

這裡使用:pathlib 模組的 Path.glob(pattern) 方法,該方法可以用來過濾目標檔案,以迭代器的形式返回搜尋結果。

pattern: 萬用字元:
"*.py":搜尋指定目錄下所有的py字尾檔案,只搜尋當前目錄,不搜尋子目錄。
"**/*.py":搜尋指定目錄下所有的py字尾檔案,包括子目錄。"**" 模式表示 “此目錄以及所有子目錄,遞迴”。換句話說,它啟用遞迴通配:

檔名可以使用以下符號組合進行模式匹配:
" * " 匹配0個或多個字元
" ? " 僅匹配一個字元
" [] " 匹配指定範圍內的字元,如[0-9]匹配數字

2,用法:

1,只遍歷當前目錄

import pathlib

# 構建一個pathlib.Path()物件
# 指定一個目錄起始點:"F:/path_test"
p = pathlib.Path("F:/path_test")

# 遍歷 F:/path_test目錄下,所有的 py 檔案
# 只遍歷當前目錄
ret = p.glob("*.py")
for item in ret:
    print(item)


""" 執行結果 
F:\path_test\01.py
F:\path_test\02.py
"""

2,遞迴遍歷

# ......
# 遍歷 F:/path_test目錄及子目錄下 所有的 py 檔案
# 遞迴遍歷所有子目錄
ret = p.glob("**/*.py")
for item in ret:
    print(item)


""" 執行結果 
F:\path_test\01.py
F:\path_test\02.py
F:\path_test\src\11.py
F:\path_test\src\22.py
"""

3,Path.rglob() 遞迴遍歷

# ......
# 遍歷 F:/path_test目錄及子目錄下 所有的 py 檔案
# 遞迴遍歷所有子目錄
# 這就像呼叫 Path.glob()時,萬用字元 pattern 前面添加了 "**/" 一樣
ret = p.rglob("*.py")
for item in ret:
    print(item)


""" 執行結果 
F:\path_test\01.py
F:\path_test\02.py
F:\path_test\src\11.py
F:\path_test\src\22.py
"""

缺點:當目錄樹較大時,Path.glob() 耗時較長。