2011-08-29 19 views
10

Chcę zmienić uprawnienia do plików dla wszystkich plików z mojego bieżącego drzewa katalogów. Próbuję otworzyć każdy katalog i otworzyć pliki i zmienić uprawnienia przy użyciu os.chmod(), ale pojawia się błąd.zmiana uprawnień plików w pythonie

import os 
import stat 

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

Błąd pojawia się:

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

Jaki błąd otrzymasz? – Nobody

+1

Powiedz nam, co masz. – lukad

+1

jaki jest błąd? –

Odpowiedz

24

Używasz os.walk nieprawidłowo.

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

dla dowodu, zamiast uruchamiania chmod, zmień bieżący kod na 'print files' – Ben

0

Zamiast tego można użyć konkretnego wywołania funkcji OS następująco:

os.system('chmod 777 -R *') 
Powiązane problemy