2011-08-29 26 views
10

Quiero cambiar el permiso de archivo para todos los archivos de mi árbol de directorios actual. Estoy tratando de abrir cada directorio y abrir los archivos y cambiar el permiso usando os.chmod(), pero obtengo un error.permiso cambio de archivos en python

import os 
import stat 

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

El error que consigo es:

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

¿Qué error se puede conseguir? – Nobody

+1

Por favor, díganos qué obtiene. – lukad

+1

¿Cuál es el error? –

Respuesta

24

está usando el os.walk incorrectamente.

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

como prueba, en lugar de ejecutar chmod, cambie su código actual a 'print files' – Ben

0

su lugar, puede utilizar una llamada a la función específica del sistema operativo de la siguiente manera:

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