Python os.walk() 方法

Python File(檔) 方法 Python OS 檔/目錄方法


概述

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

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

在Unix,Windows中有效。

語法

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

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

參數

  • top -- 是你所要遍曆的目錄的地址, 返回的是一個三元組(root,dirs,files)。

    • root 所指的是當前正在遍曆的這個檔夾的本身的地址
    • dirs 是一個 list ,內容是該檔夾中所有的目錄的名字(不包括子目錄)
    • files 同樣是 list , 內容是該檔夾中所有的檔(不包括子目錄)
  • topdown --可選,為 True,則優先遍曆 top 目錄,否則優先遍曆 top 的子目錄(默認為開啟)。如果 topdown 參數為 True,walk 會遍曆top檔夾,與top 檔夾中每一個子目錄。

  • onerror -- 可選,需要一個 callable 對象,當 walk 需要異常時,會調用。

  • followlinks -- 可選,如果為 True,則會遍曆目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關閉),如果為 False,則優先遍曆 top 的子目錄。

返回值

該方法沒有返回值。

實例

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

#!/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

Python File(檔) 方法 Python OS 檔/目錄方法