os。walk,python
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