从此列表中递归设置所有文件和文件夹到777

时间:2014-11-17 19:21:40

标签: python python-2.7 recursion operating-system

我已经无休止地寻找解决方案,但似乎无法找到答案。

我有一个路径列表:

dirToModify = ['includes/','misc/','modules/','scripts/','themes/']

我想遍历每个列表项(在本例中为dir)并将所有文件和目录设置为777

我为以下文件做了这个:

for file in fileToModify:
    os.chmod(file, 0o777)

但似乎无法找到一种以递归方式对文件夹执行此操作的好方法。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:6)

您可以遍历您想要修改的目录,然后使用os.walk遍历每个目录中的所有目录和文件,如下所示:

for your_dir in dirs_to_modify:
    for root, dirs, files in os.walk(your_dir):
        for d in dirs:
            os.chmod(os.path.join(root, d), 0o777)
        for f in files:
            os.chmod(os.path.join(root, f), 0o777)