Python3 os.walk() 方法

Python3 OS 檔/目錄方法 Python3 OS 檔/目錄方法


概述

os.walk() 方法可以創建一個生成器,用以生成所要查找的目錄及其子目錄下的所有檔。

os.walk() 方法用於通過在目錄樹中游走輸出在目錄中的檔案名,向上或者向下。

os.walk() 方法是一個簡單易用的檔、目錄遍曆器,可以幫助我們高效的處理檔、目錄方面的事情。

在Unix,Windows中有效。

語法

walk()方法語法格式如下:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

參數

  • top -- 根目錄下的每一個檔夾(包含它自己), 產生3-元組 (dirpath, dirnames, filenames)【檔夾路徑, 檔夾名字, 檔案名】。

  • topdown --可選,為True或者沒有指定, 一個目錄的的3-元組將比它的任何子檔夾的3-元組先產生 (目錄自上而下)。如果topdown為 False, 一個目錄的3-元組將比它的任何子檔夾的3-元組後產生 (目錄自下而上)。

  • onerror -- 可選,是一個函數; 它調用時有一個參數, 一個OSError實例。報告這錯誤後,繼續walk,或者拋出exception終止walk。

  • followlinks -- 設置為 true,則通過軟鏈接訪問目錄。

返回值

該方法沒有返回值。

實例

以下實例演示了 walk() 方法的使用:

實例

#!/usr/bin/python3

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

Python3 OS 檔/目錄方法 Python3 OS 檔/目錄方法