Python-os-walk

提供:Dev Guides
移動先:案内検索

Python os.walk()メソッド

説明

Pythonメソッド* walk()*は、ツリーをトップダウンまたはボトムアップでたどることにより、ディレクトリツリーにファイル名を生成します。

構文

以下は* walk()*メソッドの構文です-

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

パラメーター

  • top -ディレクトリをルートとする各ディレクトリは、3タプル、つまり(dirpath、dirnames、filenames)を生成します
  • topdown -オプションの引数topdownがTrueまたは指定されていない場合、ディレクトリはトップダウンでスキャンされます。 topdownがFalseに設定されている場合、ディレクトリはボトムアップからスキャンされます。
  • onerror -これは、ウォークを続行するためにエラーを表示するか、ウォークを中止するために例外を発生させることができます。
  • followlinks -これは、trueに設定されている場合、シンボリックリンクが指すディレクトリにアクセスします。

戻り値

このメソッドは値を返します。

次の例は、walk()メソッドの使用法を示しています。

# !/usr/bin/python

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))

上記のプログラムをコンパイルして実行します。これにより、すべてのディレクトリとサブディレクトリが下から上にスキャンされます。

./tmp/test.py
./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp
*topdown* の値をTrueに変更すると、次の結果が得られます-
./.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