Quelle est la "méthode python" pour définir récursivement le propriétaire et le groupe dans les fichiers d'un répertoire? Je pourrais juste passer une commande 'chown -R' pour le shell, mais j'ai l'impression qu'il me manque quelque chose d'évident.Quelle est la méthode Python pour la définition récursive des autorisations de fichiers?
Je déblayage à propos de ceci:
import os
path = "/tmp/foo"
for root, dirs, files in os.walk(path):
for momo in dirs:
os.chown(momo, 502, 20)
Cela semble fonctionner pour le réglage du répertoire, mais échoue lorsqu'il est appliqué aux fichiers. Je soupçonne que les fichiers n'obtiennent pas le chemin complet, donc chown échoue car il ne peut pas trouver les fichiers. L'erreur est:
« OSError: [Errno 2] Aucun fichier ou répertoire: 'foo.html'
Que suis-je ici donnent sur?
Cela a un bug que je viens de voir dans le code de mon collègue en production :-) Le répertoire de haut niveau spécifié n'est pas sacré. J'ai suggéré une modification avec un correctif, j'espère que cela sera approuvé. –
Donc, mon édition a été rejetée - attention à quiconque utilise ceci et rencontre le bug où '/ tmp/foo' n'a pas ses permissions changées. Bon travail de modération SO pythoniens –
@AvindraGoolcharan bonne prise - j'espère que c'était ce que vous aviez en tête! –