Python | méthode os.fchmod()

|

Sur les systèmes de type Unix, les modes — il s’agit des autorisations du système de fichiers accordées aux utilisateurs, groupes et autres classes pour accéder au fichier.
os.fchmod() en Python est utilisé pour changer le mode de fichier spécifié par le descripteur de fichier spécifié en mode numérique spécifié . Cette méthode est équivalente à os.chmod (fd, mode) .

Remarque. Cette méthode n’est disponible que sur les plates-formes Unix.

Syntaxe : os.fchmod (fd, mode)

Paramètres :
fd : un descripteur de fichier dont le mode doit être défini.
mode : une valeur numérique représentant le mode à définir.
mode peut également prendre l’une des valeurs suivantes ou leurs combinaisons OR au niveau du bit :

  • stat.S_ISUID : Définir l’ID utilisateur à l’exécution
  • stat.S_ISGID : Définir l’ID de groupe à l’exécution
  • stat.S_ENFMT : Verrouillage des enregistrements appliqué < /li>
  • stat.S_ISVTX : Enregistrer l’image texte après exécution
  • stat.S_IREAD : Lu par le propriétaire.
  • stat.S_IWRITE : Écrit par le propriétaire.
  • stat.S_IEXEC : Exécuter par le propriétaire.
  • stat.S_IRWXU : Lire, écrire et exécuter par le propriétaire
  • stat.S_IRUSR : Lire par le propriétaire
  • stat.S_IWUSR : Écrit par le propriétaire.
  • stat.S_IXUSR : Exécuter par le propriétaire.
  • stat.S_IRWXG : Lire, écrire et exécuter par groupe
  • stat.S_IRGRP : Lire par groupe
  • stat.S_IWGRP : Écrire par groupe
  • stat.S_IXGRP : Exécuter par groupe
  • stat .S_IRWXO : lu, écrit et exécuté par d’autres.
  • stat.S_IROTH : lu par d’autres
  • stat.S_IWOTH : écrit par d’autres
  • stat.S_IXOTH : Exécuter par d’autres

Type de retour : Cette méthode ne renvoie aucune valeur.

Code : en utilisant la méthode os .fchmod ()

# Programme Python pour expliquer les définitions de la méthode os.fchmod ()


# import du module os

import os


# import du module de statistiques

import stat


# Nom du fichier

nom du fichier = "file.txt"


# Ouvre le fichier spécifié et
# obtenir le descripteur de fichier
# lié à ce
# méthode os.open ()

fd = os. ouvrir (nom de fichier, os.O_RDWR)


# Affiche le mode numérique courant
# fichier (octal)

mode = oct (os. stat (fd) .st_mode) [ - 3  :]

print ( "Mode numérique actuel du fichier (notation octale):" , mode)


# Changez maintenant de mode
Fichier #


# octal 777 comme valeur de mode
# lire, écrire et exécuter par mission
# pour propriétaire, groupe et autres

mode = 0o777

os.fchmod (fd, mode)

print ( "Le mode fichier a été modifié avec succès" )


# Imprimer le mode numérique modifié
# fichier (octal)

mode = oct (os.stat (fd) .st_mode) [ - 3  :]

print ( "Mode numérique courant du fichier ( notation octale):" , mode)


Le paramètre # mode peut aussi être
# défini par les drapeaux définis dans
# Module Stat


# Mode Chnage

mode = stat.S_IRWXU

os.fchmod (fd, mode)

print ( "Le mode de fichier a été modifié avec succès" )

print ( "Maintenant, le fichier peut être lu, écrit et exécuté par le propriétaire uniquement " )


# Imprimer le mode numérique modifié
# (octal) du fichier

mode = oct (os.stat (fd) .st_mode) [ - 3  :]

imprimer ( "Mode numérique actuel du fichier (notation octale) :" , mode)

< /p>


# changer de mode

< p> mode = stat.S_IRWXU | stat.S_IRGRP

os.fchmod (fd, mode)

imprimer ( "Le mode de fichier a été modifié avec succès" )

print ("Maintenant, Fichier peut être lu, écrit et exécuté

par propriétaire mais peut être lu par groupe ")


# Imprimer le mode numérique modifié
# fichier (octal)

mode = oct (os.stat (fd) .st_mode) [ - 3  :]

p rint ( "Mode numérique actuel du fichier (notation octale) :" , mode)


# Ferme le descripteur de fichier
os.close (fd)

Quitter :

 Mode numérique actuel du fichier ( notation octale) : 666 Mode de fichier modifié avec succès Mode numérique actuel du fichier (notation octale) : 777 Mode de fichier modifié avec succès Désormais, le fichier peut être lu, écrit et exécuté uniquement par le propriétaire Mode numérique actuel du fichier (notation octale) : 700 Mode de fichier changé avec succès Maintenant, le fichier peut être lu, écrit et exécuté par le propriétaire mais peut être lu par le groupe Mode numérique actuel du fichier (notation octale) : 740