Изменение разрешений файлов в python

Я хочу изменить разрешение файла для всех файлов из моего текущего дерева каталогов. Я пытаюсь открыть каждый каталог и открыть файлы и изменить разрешение с помощью os.chmod(), но получить сообщение об ошибке.

import os
import stat

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

Ошибка, которую я получаю:

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

Ответ 1

Вы неправильно используете os.walk.

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

Ответ 2

Вместо этого вы можете использовать специальный вызов функции ОС следующим образом:

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