Python是一個(gè)非常強(qiáng)大的編程語(yǔ)言,它不僅可以實(shí)現(xiàn)各種算法和數(shù)據(jù)處理,還可以進(jìn)行網(wǎng)絡(luò)爬蟲,實(shí)現(xiàn)一些特殊的功能。今天我們就來看一下如何使用Python的抓取目錄樹功能。
# 導(dǎo)入必要的包 import os # 遍歷目錄樹 def walktree(top, callback): for f in os.listdir(top): path = os.path.join(top, f) if os.path.isdir(path): walktree(path, callback) else: callback(path) # 打印路徑 def print_file(path): print(path) # 測(cè)試 if __name__ == '__main__': walktree('.', print_file)
首先,我們需要使用Python的os包來遍歷目錄樹。我們定義了一個(gè)walktree函數(shù),它接收兩個(gè)參數(shù):top和callback。
top表示頂層目錄,callback表示對(duì)每一個(gè)文件的處理函數(shù)。我們可以傳遞不同的函數(shù)來執(zhí)行不同的操作,比如打印路徑、計(jì)算文件大小等等。
在walktree函數(shù)內(nèi)部,我們使用os.listdir來遍歷當(dāng)前目錄下的所有文件和文件夾。如果是文件夾,則遞歸調(diào)用walktree函數(shù),否則調(diào)用callback函數(shù)來處理當(dāng)前文件。
然后我們定義了一個(gè)print_file函數(shù),它接收一個(gè)參數(shù)path,表示當(dāng)前文件的路徑。該函數(shù)執(zhí)行簡(jiǎn)單的打印操作,用于測(cè)試。
最后,在if __name__ == '__main__'的判斷下,我們調(diào)用walktree函數(shù),并傳遞當(dāng)前目錄和print_file函數(shù)。這樣就可以遍歷整個(gè)目錄樹并打印所有文件的路徑了。