?
當(dāng)你調(diào)用 os.walk(folder_path)
函數(shù)時,它會遍歷指定的文件夾 folder_path
及其所有子文件夾中的文件和文件夾。
遞歸遍歷的邏輯如下:
- 首先,函數(shù)從指定的
folder_path
文件夾開始遍歷。 - 對于當(dāng)前遍歷的文件夾,它會返回一個三元組
(root, dirs, files)
:-
root
:當(dāng)前正在遍歷的文件夾路徑(字符串)。 -
dirs
:一個列表,包含當(dāng)前文件夾中的子文件夾的名稱(字符串列表)。 -
files
:一個列表,包含當(dāng)前文件夾中的文件的名稱(字符串列表)。
-
- 接下來,對于每個子文件夾,函數(shù)將遞歸地調(diào)用
os.walk()
函數(shù),繼續(xù)遍歷子文件夾中的文件和文件夾。這樣就形成了一個遞歸的遍歷過程,直到遍歷完所有的子文件夾。 - 在遍歷過程中,每次迭代都會返回一個新的三元組,表示下一個文件夾的信息,直到遍歷完成。
你可以使用 for
循環(huán)來迭代這個生成器,如下所示:文章來源:http://www.zghlxwxcb.cn/news/detail-468792.html
import os
# 級聯(lián)便利文件夾
def traverse_folder(folder_path):
for root, dirs, files in os.walk(folder_path):
print("Folder:", root)
print("Subfolders:", dirs)
print("Files:", files)
print()
if __name__ == '__main__':
# 指定要遍歷的文件夾路徑
folder_path = '/path/to/folder'
# 調(diào)用函數(shù)遍歷文件夾
traverse_folder(folder_path)
案例:遍歷指定文件夾及其子文件夾中的所有圖片文件,并記錄它們的地址信息文章來源地址http://www.zghlxwxcb.cn/news/detail-468792.html
import os
#遍歷文件夾下的所有圖片文件,并記錄圖片地址信息
def find_images(folder_path, extensions=['.jpg', '.jpeg', '.png', '.gif']):
image_files = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if any(file.lower().endswith(ext) for ext in extensions):
image_path = os.path.join(root, file)
image_files.append(image_path)
return image_files
if __name__ == '__main__':
# 指定要遍歷的文件夾路徑
folder_path = '/path/to/folder'
# 調(diào)用函數(shù)查找圖片文件
image_files = find_images(folder_path)
# 打印圖片地址信息
for image_path in image_files:
print(image_path)
到了這里,關(guān)于Python遍歷對文件夾進(jìn)行級聯(lián)遍歷os.walk()的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!