os.walk是屬於python下的一個方法,os.walk()方法一般是用來透過在目錄樹中游走輸出在目錄中的檔案名,向上或是向下。簡單來說,os.walk()方法是屬於一個簡單易用的檔案、目錄遍歷器,能夠更好地幫助我們高效的處理各種檔案、目錄等方面的事務。
語法格式:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
參數說明:
top -- 是所要遍歷的目錄的地址,返回的一般是一個三元組(即root,dirs,files)。
1.root所指的一般是當前正在遍歷的這個檔案夾的本身的地址。
2.dirs是屬於一個list,其內容是該檔案夾中所有的目錄的名字(需要注意的是並不包括子目錄)。
3.files也是list,其中的內容是該檔案夾中所有的檔案(但並不包括子目錄)。
topdown --可選,爲True,那麼會優先遍歷top目錄,若不是則會優先遍歷top的子目錄(通常是默認爲開啓的)。若是topdown參數爲True,那麼walk就會遍歷top檔案夾,與top檔案夾中每一個子目錄。
onerror -- 可選,需要一個callable對象,當walk需要異常時,就會調用。
followlinks -- 可選,若是爲True,那麼就會遍歷目錄下的捷徑(linux下是軟連接symbolic link )實際所指的目錄(默認爲關閉),若是爲False,那麼就會優先遍歷 top的子目錄。
參考範例:
輸入代碼:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
輸出結果:
./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp
./tmp/test.py