¿Cuál es la "forma de python" para establecer de forma recursiva el propietario y el grupo en los archivos de un directorio? Podría pasarle un comando 'chown -R' a Shell, pero siento que me falta algo obvio.¿Cuál es la forma de Python para establecer permisos de archivos recursivamente?
estoy curioseaba con esto:
import os
path = "/tmp/foo"
for root, dirs, files in os.walk(path):
for momo in dirs:
os.chown(momo, 502, 20)
Esto parece funcionar para establecer el directorio, pero falla cuando se aplica a los archivos. Sospecho que los archivos no obtienen la ruta completa, por lo que chown falla, ya que no puede encontrar los archivos. El error es:
'OSError: [Errno 2] No existe el fichero o directorio: 'foo.html'
Lo estoy pasando por alto aquí?
Esto tiene un error que acabo de ver en el código de producción de mi compañero de trabajo :-) No se está recogiendo el directorio de nivel superior especificado. Sugerí una edición con una corrección, con suerte se aprueba. –
Así que mi edición fue rechazada - buena idea para cualquiera que use esto y encuentre el error donde '/ tmp/foo' NO tiene sus permisos modificados. Buen trabajo moderando SO pythonians –
@AvindraGoolcharan buena captura - ¡con suerte eso era lo que tenías en mente! –