38

この作品をpython 2.6でシンボリックリンクをたどらせるにはどうすればよいですか?

def load_recursive(self, path):
    for subdir, dirs, files in os.walk(path):
        for file in files:
            if file.endswith('.xml'):
                file_path = os.path.join(subdir, file)
                try:
                    do_stuff(file_path) 
                except:
                    continue
4

1 に答える 1

62

に設定followlinksTrueます。これはos.walkメソッドの 4 番目の引数で、以下に再現されています。

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

このオプションは Python 2.6 で追加されました。

編集1

使用するときは注意してくださいfollowlinks=Trueドキュメントによると:

注:followlinksリンクがそれ自体の親ディレクトリを指している場合、Trueに設定すると無限再帰が発生する可能性があることに注意してください。walk() は、すでにアクセスしたディレクトリを追跡しません。

于 2010-09-22T16:58:55.850 に答える