Python os.walk() メソッド
概要
os.walk() メソッドは、ディレクトリツリーを走査して、ディレクトリ内のファイル名を出力するために使用します(上向きまたは下向き)。
os.walk() メソッドは、シンプルで使いやすいファイル・ディレクトリ走査器であり、ファイルやディレクトリの処理を効率的に行うのに役立ちます。
Unix、Windowsで有効です。
構文
walk()メソッドの構文は次のとおりです:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
パラメータ
-
top-- あなたが走査したいディレクトリのパスです。返り値は (root, dirs, files) の3つ組です。
- root は、現在走査しているフォルダ自体のパスを指します。
- dirs はリストで、そのフォルダ内にあるすべてのディレクトリの名前が含まれます(サブディレクトリは含みません)。
- files も同じくリストで、そのフォルダ内のすべてのファイルの名前が含まれます(サブディレクトリは含みません)。
topdownオプションです。True の場合、top ディレクトリを優先のに走査し、それ以外の場合は top のサブディレクトリを優先のに走査します(デフォルトはオン)。topdown パラメータが True の場合、walk は top フォルダと、top フォルダ内の各サブディレクトリを走査します。
onerror-- オプションです。callable オブジェクトが必要で、walk が例外に遭遇したときに呼び出されます。
followlinks-- オプションです。True の場合、ディレクトリ内のショートカット(Linux ではシンボリックリンク)が実際に指すディレクトリを走査します(デフォルトはオフ)。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))
# -*- 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 OS ファイル/ディレクトリメソッド