Ответ 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
Я хочу изменить разрешение файла для всех файлов из моего текущего дерева каталогов. Я пытаюсь открыть каждый каталог и открыть файлы и изменить разрешение с помощью 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
Вы неправильно используете 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
Вместо этого вы можете использовать специальный вызов функции ОС следующим образом:
os.system('chmod 777 -R *')