我有一个类似于以下的目录结构:
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 版。