次のようなディレクトリ構造があります。
Dir1
Dir2
Dir3
Dir4
L SubDir4.1
L SubDir4.2
L SubDir4.3
のすべての内容を含むファイルのリスト (絶対パスを含む) を生成したいが、内部Dirs1-3
のみである。私がこれまでに持っているコードはSubDir4.2
Dir4
import fnmatch
import os
for root, dirs, files in os.walk( '.' )
if 'Dir4' in dirs:
if not 'SubDir4.2' in 'Dir4':
dirs.remove( 'Dir4' )
for file in files
print os.path.join( root, file )
SubDir4.2
私の問題は、パスにないファイルを除外しようとする部分が、Dir4
残したいものを含め、 内のすべてを除外していることです。私が望むことを行うには、上記をどのように修正すればよいですか?
更新 1 : 以下に多くのディレクトリがあることを追加する必要があるDir4
ため、それらを除外リストに手動でリストすることは実用的なオプションではありません。SubDur4.2
読み取り対象の唯一のサブディレクトリとして指定できるようにしたいと思いDir4
ます。
更新 2 : 私の制御外の理由により、Python バージョン 2.4.3 にしかアクセスできません。