説明
あるディレクトリ内にあるすべてのディレクトリとファイルを表示する。
ディレクトリが階層構造になっている場合は、ディレクトリが存在しなく
なるまで、上記処理を行う。
上記の問題を解く場合、「ディレクトリ内を走査する」という処理を再帰的に行う必要がある。
解法が分かれば、それほど難しくないが、再帰処理を書くのは、
それなりに面倒くさい。
Pythonには、os.walkという関数が用意されており、上記処理を容易に行う事が
できる。
os.walkは、引数としてディレクトリを渡すと、ディレクトリ内を走査して、
現在のディレクトリ、ディレクトリ内にあるディレクトリ、ディレクトリ内にある
ファイルを返す。
下記に示すプログラムは、os.walkを用いて、ディレクトリ走査を行い、
階層構造をタブで表現したものだ。
結果は次のような形となる。
. /
__init__.py
__init__.pyc
manage.py
manage.py~
settings.py
settings.pyc
test2.py
test2.py~
test3.py
test3.py~
test4.py
test4.py~
urls.py
urls.pyc
bookmark /
__init__.py
models.py
models.py~
views.py
hoge /
d
hoge /
uuu /
(文、固め。いかがか?)
コメント
前へ 1 次へ![]()











Perl の場合、
モジュールを使います。
File::Find