用Python遍歷目錄樹


代碼如下:

import os

path = 'C:\\tmp\\2020-07-14'

for folderName, subfolders, filenames in os.walk(path):
    print('The current folder is ' + folderName)
    for subfolder in subfolders:
        print('SUBFOLDER OF ' + folderName + ': ' + subfolder)
    for filename in filenames:
        print('FILE INSIDE ' + folderName + ': '+ filename)
print('')


os.walk()函數被傳入一個字符串值,即一個文件夾的路徑。你可以在一個for循環語句中使用os.walk()函數,遍歷目錄樹,就像使用range()函數遍歷一個范圍的數字一樣。不像range(),os.walk()在循環的每次迭代中,返回3個值:

1.當前文件夾名稱的字符串。

2.當前文件夾中子文件夾的字符串的列表。

3.當前文件夾中文件的字符串的列表。


所謂當前文件夾,是指for循環當前迭代的文件夾。程序的當前工作目錄,不會因為os.walk()而改變。

就像你可以在代碼for i in range(10):中選擇變量名稱i一樣,你也可以選擇前面列出來的3個字的變量名稱。我通常使用foldername、subfolders和filenames。


因為os.walk()返回字符串的列表,保存在subfolder和filename變量中,所以你可以在它們自己的for循環中使用這些列表。用你自己定制的代碼,取代print()函數調用(或者如果不需要,就刪除for循環)。


參考資料

===============

《Python編程快速上手-讓繁瑣工作自動化》9.2 遍歷目錄樹


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM