Я пытаюсь сделать следующее:
Написать код, который проверяет разрешение каждого файла в каталоге «files».
Если разрешение для 'group' не является 'rwx', измените разрешение для этого файла
следующее:
«пользователь» может rwx,
«группа» может RWX,
«другой» ничего не может сделать.
Я пробовал следующее:
import os
import stat
path = '/home/myname/files'
for r, d, f in os.walk(path):
for file in f:
if not os.access(file, stat.S_IRWXU):
print("User cannot rwx: ", file)
os.chmod(file, stat.S_IRWXU)
if os.access(file, stat.S_IRWXG) == 0:
print("Group cannot rwx: ", file)
os.chmod(file, stat.S_IRWXG)
Однако я заметил две вещи.
- Что бы я ни пытался, я не могу заставить его проверить, не является ли это RWX. Он игнорирует «если нет», и «== 0» также не работает.
- Вызов S_IRWXU изменяет разрешение так, как я этого хочу, но когда я вызываю 'S_IRWXG' позже, разрешение пользователя исчезает. Это не то, что я хочу.
Как мне исправить эти две вещи?