Chmod只递归目录?

时间:2011-08-25 08:25:29

标签: python

这对我不起作用:

target_dir = "a/b/c/d/e/"
os.makedirs(target_dir,0777) 

os.chmod仅适用于最后一个目录...

3 个答案:

答案 0 :(得分:9)

您可以使用os.walk遍历目录。 (以下未经测试,自行试验)

for r, d, f in os.walk(path):
    os.chmod(r, 0o777)

答案 1 :(得分:1)

ghostdog74的答案几乎可以解决,但它会尝试在chmod之前进入目录。所以真正的答案不那么优雅:

os.chmod(path , 0o777)
for root,dirs,_ in os.walk(path):
    for d in dirs :
        os.chmod(os.path.join(root,d) , 0o777)

答案 2 :(得分:-1)

此行的一行版本是:

list(map(lambda x: os.chmod(x[0], 0o775), os.walk(target_dir)))