2011-08-29 16 views
10

Desidero modificare il permesso del file per tutti i file dal mio albero di directory corrente. Sto cercando di aprire ciascuna directory e aprire i file e modificare l'autorizzazione utilizzando os.chmod(), ma ottenendo un errore.modifica autorizzazione dei file in python

import os 
import stat 

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

L'errore che ottengo è:

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

Quale errore si ottiene? – Nobody

+1

Per favore, dicci quale ottieni. – lukad

+1

qual è l'errore? –

risposta

24

Si utilizza os.walk in modo errato.

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

per prova, invece di eseguire chmod, cambiare il codice corrente in 'stampa file' – Ben

0

È possibile invece utilizzare una chiamata di funzione specifica del sistema operativo come segue:

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