让os.walk有条件地遵循符号链接

时间:2018-09-21 20:38:31

标签: python os.walk

我正在使用 Python 2.7

我有这样的情况

 for (root,dirs,files) in os.walk(dir_tree, topdown=True, followlinks=True):
        for atom in files:
            # do something with files
        for dir in dirs:
            # do something with dirs

我正在目录树上执行os.walk。这棵树有一些链接。其中一些链接指向目录树中的其他位置。有些链接没有。 我希望os.walk仅遵循指向目录树中其他位置的链接

例如:

A/
   temp/
       collateral_file_1
   B/
       link1    ->   Somewhere outside A
       link2    ->   A/temp/
   C/
       file_1

在上述情况下,dir_tree为A /。在A上执行os.walk时,我想探索link2,因为它是A中另一个位置的链接,但不是link1的链接。

您可能想知道为什么?无论如何,在步行之后,将在非符号链接中探索link1的内容。但是,这样做的原因是我正在检查通过配置文件提供的某些属性的某些文件模式。

例如:A/B/link1/中的所有文件都应具有700权限等。

有没有办法做到这一点?

我考虑过os.listdir,但似乎应该有一种更简单的方法

0 个答案:

没有答案