Python | метод os.fchmod()

|

В Unix-подобных системах режимы — это разрешения файловой системы, предоставленные пользователям, группам и другим классам для доступа к файлу.
os.fchmod() в Python используется для изменения режима файла, указанного указанным дескриптором файла, на указанный числовой режим . Этот метод эквивалентен os.chmod (fd, mode) .

Примечание. Этот метод доступен только на платформах Unix.

Синтаксис: os.fchmod (fd, режим)

Параметры:
fd: дескриптор файла, режим которого должен быть установлен.
режим: числовое значение, представляющее режим, который необходимо установить.
mode также может принимать одно из следующих значений или их комбинаций с побитовым ИЛИ:

  • stat.S_ISUID: Установка идентификатора пользователя при выполнении
  • stat.S_ISGID: Установка идентификатора группы при выполнении
  • stat.S_ENFMT: Принудительная блокировка записи < /li>
  • stat.S_ISVTX: Сохранить текстовое изображение после выполнения
  • stat.S_IREAD: Прочитано владельцем.
  • stat.S_IWRITE : Написать владельцем.
  • stat.S_IEXEC: Выполняется владельцем.
  • stat.S_IRWXU: Чтение, запись и выполнение владельцем
  • stat.S_IRUSR: Чтение владельцем
  • stat.S_IWUSR: Написать владельцем.
  • stat.S_IXUSR: Выполняется владельцем.
  • stat.S_IRWXG: Чтение, запись и выполнение по группе
  • stat.S_IRGRP: Чтение по группе
  • stat.S_IWGRP: Запись по группе
  • stat.S_IXGRP : Выполнение по группе
  • stat .S_IRWXO: чтение, запись и выполнение другими.
  • stat.S_IROTH: Прочитано другими
  • stat.S_IWOTH: Написано другими
  • stat.S_IXOTH: Выполняется другими

Тип возвращаемого значения: Этот метод не возвращает никакого значения.

Код: с использованием метода ОС .fchmod()

# Программа Python для объяснения определений методов os.fchmod()


# импорт модуля ОС

import os


# импорт модуля статистики

import stat


# Имя файла

имя файла = "file.txt"


# Откройте указанный файл и
# получить дескриптор файла
# связан с этим
# метод os.open ()

fd = ос. открыть (имя файла, os.O_RDWR)


# Вывести текущий числовой режим
# (восьмеричный) файл

режим = oct (os. stat (fd).st_mode) [ - 3 :]

print ( "Текущий числовой режим файла (восьмеричная запись):" , mode)


# Теперь измените режим
File #


# восьмеричное число 777 как значение режима
# чтение, запись и выполнение миссия
# для владельца, группы и других

режим = 0o777

os.fchmod (fd, режим)

print ( "Режим файла успешно изменен" )


# Печать измененного числового режима
# (восьмеричный) файл

режим = oct (os.stat (fd) .st_mode) [ - 3 :]

print ( "Текущий числовой режим файла ( восьмеричная запись):" , mode)


Параметр режима # также может быть
# определяется флагами, определенными в
# Модуль статистики


# Режим изменения

режим = stat.S_IRWXU

os.fchmod (fd, mode)

print ( "Режим файла успешно изменен" )

print ( "Теперь файл может быть прочитан, записан и выполнен только владельцем" )


# Печать модифицированного числового режима
# (восьмеричный) файла

режим = oct (os.stat (fd).st_mode) [ - 3 :]

print ( "Текущий числовой режим файла (восьмеричная запись):" , mode)

< /p>


# изменить режим

< p> режим = stat.S_IRWXU | stat.S_IRGRP

os.fchmod (fd, mode)

print ( "Режим файла успешно изменен" )

print ("Теперь File можно читать, писать и выполнять

владельцем, но может быть прочитано группой ")


# Печать модифицированного числового режима
# (восьмеричный) файл

режим = oct (os.stat (fd) .st_mode) [ - 3 :]

p rint ( "Текущий числовой режим файла (восьмеричная запись):" , mode)


# Закрыть дескриптор файла
os.close (fd)

Выход :

 Текущий числовой режим файла ( восьмеричная запись): 666 Режим файла изменен успешно Текущий числовой режим файла (восьмеричная запись): 777 Режим файла изменен успешно Теперь файл может быть прочитан, записан и выполнен только владельцем Текущий числовой режим файла (восьмеричная запись): 700 Режим файла изменен успешно Теперь файл может быть прочитан, записан и выполнен владельцем, но может быть прочитан группой Текущий числовой режим файла (восьмеричное представление): 740