这对我不起作用:
target_dir = "a/b/c/d/e/"
os.makedirs(target_dir,0777)
os.chmod仅适用于最后一个目录...
答案 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)))