を維持し、私がニシキヘビを使用しようとしていますが、任意のディレクトリ構造からファイルをグロブするos.walk:パイソン:os.walk()階層
matches = []
for root, dirnames, filenames in os.walk(path):
for filename in fnmatch.filter(filenames, name):
matches.append(os.path.join(root, filename))
print matches
これはうまくすべてのファイルをグロブが、私はしたいのですがまた、実際のフォルダ構造を維持することができます。つまり、サブフォルダをサブフォルダに移動したいので、実際にどのファイルがどのサブフォルダに属しているかを知ることができます。それはos.walkで可能ですか、私自身の機能をロールバックする必要がありますか?
私の疑問を明確にするために、私はパースするディレクトリのプログラム内部ツリーを作成したいので、実際にディレクトリツリーを再帰的に解析して各サブディレクトリとファイルを一度に見つけます。 :
擬似コード:
def createAndParseSubDir(path):
ret = []
files = glob(path)
for file in files:
if isDir(file):
ret.append(createAndParseSubDir(file))
else:
ret.append(file)
return ret
hierarchy = createAndParseSubDir(myRoot)
EDIT: 私は、ファイル/ディレクトリがやり方のようなツリーに解析されることを保証するために、上記の擬似コードのような同様の再帰関数を使用して終了。
[この質問に答える] [1]はこの特定の問題を解決しました。 [1]:http://stackoverflow.com/questions/2909975/python-list-directory-subdirectory-and-files私はフォルダ名を持っていることを知っている –