2011-08-29 138 views
10

我想更改當前目錄樹中所有文件的文件權限。我試圖打開每個目錄並打開文件並使用os.chmod()更改權限,但出現錯誤。python中文件的權限更改

import os 
import stat 

for files in os.walk('.'): 
     os.chmod(files,stat.S_IXGRP) 

我得到的錯誤是:

File "delhis.py", line 4, in ? os.chmod(files,stat.S_IXGRP) TypeError: coercing to Unicode: need string or buffer, tuple found 
+1

你什麼錯誤? – Nobody

+1

請告訴我們你得到的。 – lukad

+1

最新錯誤? –

回答

24

您正在使用os.walk不正確。

for dirpath, dirnames, filenames in os.walk('.'): 
    for filename in filenames: 
     path = os.path.join(dirpath, filename) 
     os.chmod(path, 0o777) # for example 
+0

用於證明,而不是運行chmod,將當前代碼更改爲「打印文件」 – Ben

0

如下您可以改用OS特定的函數調用:

os.system('chmod 777 -R *')