サブディレクトリへのアクセスを制御するコンテキスト マネージャを使用しようとしていますが、それをジェネレータ式と組み合わせると非常に洗練されているように見えますが、うまくいかないようです。2つを一緒に使用できるように、これを修正する方法はありますか?
次に例を示します。
import os, sys
from contextlib import contextmanager
from glob import glob
@contextmanager
def visitDir(d):
os.chdir(d)
yield d
os.chdir("..")
paths = [os.path.join('.', p[0:-1]) for p in glob('*/')]
def clean():
for p in (visitDir(p) for p in paths): # This is the magic line
print p
print os.getcwd()
clean() # Context manager apparently expires within the generator expression