Python 3 - Método os.fchmod ()

Descrição

O método fchmod() muda o modo do arquivo fornecido por fdpara o modo numérico. O modo pode assumir um dos seguintes valores ou combinações de OR bit a bit deles -

Note - Este método está disponível em Python 2.6 em diante.

  • stat.S_ISUID - Defina o ID do usuário na execução.

  • stat.S_ISGID - Defina o ID do grupo na execução.

  • stat.S_ENFMT - Bloqueio de registro aplicado.

  • stat.S_ISVTX - Salvar imagem de texto após a execução.

  • stat.S_IREAD - Lido pelo proprietário.

  • stat.S_IWRITE - Escreva pelo proprietário.

  • stat.S_IEXEC - Executar pelo proprietário.

  • stat.S_IRWXU - Leia, escreva e execute pelo proprietário.

  • stat.S_IRUSR - Lido pelo proprietário.

  • stat.S_IWUSR - Escreva pelo proprietário.

  • stat.S_IXUSR - Executar pelo proprietário.

  • stat.S_IRWXG - Ler, escrever e executar por grupo.

  • stat.S_IRGRP - Leia por grupo.

  • stat.S_IWGRP - Escreva por grupo.

  • stat.S_IXGRP - Executar por grupo.

  • stat.S_IRWXO - Leia, escreva e execute por outros.

  • stat.S_IROTH - Lido por outros.

  • stat.S_IWOTH - Escreva por outras pessoas.

  • stat.S_IXOTH - Executar por outros.

Sintaxe

A seguir está a sintaxe para fchmod() método -

os.fchmod(fd, mode)

Parâmetros

  • fd - Este é o descritor de arquivo para o qual o modo deve ser definido.

  • mode - Isso pode levar um dos valores mencionados acima ou combinações de OR bit a bit deles.

Valor de retorno

Este método não retorna nenhum valor. Disponível apenas em sistemas operacionais semelhantes ao Unix.

Exemplo

O exemplo a seguir mostra o uso do método fchmod () -

#!/usr/bin/python3
import os, sys, stat

# Now open a file "/tmp/foo.txt"
fd = os.open( "/tmp", os.O_RDONLY )

# Set a file execute by the group.

os.fchmod( fd, stat.S_IXGRP)

# Set a file write by others.
os.fchmod(fd, stat.S_IWOTH)

print ("Changed mode successfully!!")

# Close opened file.
os.close( fd )

Resultado

Quando executamos o programa acima, ele produz o seguinte resultado -

Changed mode successfully!!