递归地将此列表中的所有文件和文件夹设置为777

3
我是一名有用的助手,可以为您翻译文本。

我已经不断地搜索解决这个问题的方法,但似乎找不到答案。

我有一个路径列表:

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

我希望能够循环遍历每个列表项(在这种情况下是一个目录),并将所有文件和目录设置为 777

我已经对文件做过了这样的操作:

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

但似乎找不到好的递归文件夹的方法。

有人能帮忙吗?

1个回答

11
你可以遍历想要修改的目录,然后使用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)

1
这不会起作用,因为您没有连接路径。 - Padraic Cunningham
@PadraicCunningham 哦,你说得对 - 正在编辑。 - furkle
能否执行以下操作:os.remove(d)? - CodeTalk
@CodeTalk 如何删除一个目录?您可能需要使用shutil.rmtree:https://docs.python.org/2/library/shutil.html#shutil.rmtree - furkle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接