Python | os.fchmod () methode

|

Op Unix-achtige systemen zijn de modi — dit zijn de bestandssysteemmachtigingen die zijn verleend aan gebruikers, groepen en andere klassen om toegang te krijgen tot het bestand.
os.fchmod() in Python wordt gebruikt om de bestandsmodus gespecificeerd door de gespecificeerde bestandsdescriptor te wijzigen in de gespecificeerde numerieke modus . Deze methode is gelijk aan os.chmod (fd, mode) .

Opmerking. Deze methode is alleen beschikbaar op Unix-platforms.

Syntaxis: os.fchmod (fd, modus)

Parameters:
fd: Een bestandsdescriptor waarvan de modus moet worden ingesteld.
modus: Een numerieke waarde die de in te stellen modus vertegenwoordigt.
modus kan ook een van de volgende waarden aannemen of bitsgewijze ORed combinaties daarvan:

  • stat.S_ISUID: Stel gebruikers-ID in bij uitvoering
  • stat.S_ISGID: Stel groeps-ID in bij uitvoering
  • stat.S_ENFMT: Vergrendeling van record afgedwongen < /li>
  • stat.S_ISVTX: Tekstafbeelding opslaan na uitvoering
  • stat.S_IREAD: Gelezen door eigenaar.
  • stat.S_IWRITE : Schrijven door eigenaar.
  • stat.S_IEXEC: Uitvoeren door eigenaar.
  • stat.S_IRWXU: Lezen, schrijven en uitvoeren door eigenaar
  • stat.S_IRUSR: Lezen door eigenaar
  • stat.S_IWUSR: Schrijven door eigenaar.
  • stat.S_IXUSR: Uitvoeren door eigenaar.
  • stat.S_IRWXG: Lezen, schrijven en uitvoeren per groep
  • stat.S_IRGRP: Gelezen per groep
  • stat.S_IWGRP: Schrijven per groep
  • stat.S_IXGRP: Uitvoeren per groep
  • stat .S_IRWXO: Lezen, schrijven en uitvoeren door anderen.
  • stat.S_IROTH: Gelezen door anderen
  • stat.S_IWOTH: Geschreven door anderen
  • stat.S_IXOTH: Uitvoeren door anderen

Retourtype: Deze methode retourneert geen waarde.

Code: met behulp van de os-methode .fchmod ()

# Python-programma om os.fchmod () methodedefinities uit te leggen


# import van de os-module

import os


# import van statistische module

import stat


# Bestandsnaam

bestandsnaam = "file.txt"


# Open het opgegeven bestand en
# get file descriptor
# gerelateerd aan deze
# os.open () methode

fd = os. open (bestandsnaam, os.O_RDWR)


# Druk de huidige numerieke modus af
# (octaal) bestand

modus = okt (os. stat (fd) .st_mode) [ - 3 :]

print ( "Huidige numerieke modus van het bestand (octale notatie):" , mode)


# Verander nu de modus
Bestand #


# octal 777 als moduswaarde
# lezen, schrijven en uitvoeren per missie
# voor eigenaar, groep en anderen

modus = 0o777

os.fchmod (fd, modus)

print ( "Bestandsmodus succesvol gewijzigd" )


# Print gewijzigde numerieke modus
# (octaal) bestand

modus = okt (os.stat (fd) .st_mode) [ - 3 :]

print ( "Huidige numerieke modus van het bestand ( octale notatie):" , mode)


De # mode parameter kan ook
# zijn gedefinieerd door vlaggen gedefinieerd in
# Stat-module


# Wijzigingsmodus

modus = stat.S_IRWXU

os.fchmod (fd, modus)

print ( "Bestandsmodus succesvol gewijzigd" )

print ( "Nu kan het bestand alleen door de eigenaar worden gelezen, geschreven en uitgevoerd" )


# Print gewijzigde numerieke modus
# (octaal) van bestand

modus = okt (os.stat (fd) .st_mode) [ - 3 :]

print ( "Huidige numerieke modus van het bestand (octale notatie):" , modus)

< /p>


# wijzigingsmodus

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

os.fchmod (fd, mode)

print ( "Bestandsmodus succesvol gewijzigd" )

print ("Nu, Bestand kan worden gelezen, geschreven en uitgevoerd

door eigenaar maar kan worden gelezen door groep ")


# Print gewijzigde numerieke modus
# (octaal) bestand

modus = okt (os.stat (fd) .st_mode) [ - 3 :]

print ( "Huidige numerieke modus van het bestand (octale notatie):" , modus)


# Sluit de bestandsdescriptor
os.close (fd)

Exit :

 Huidige numerieke modus van het bestand ( octale notatie): 666 Bestandsmodus succesvol gewijzigd Huidige numerieke modus van het bestand (octale notatie): 777 Bestandsmodus succesvol gewijzigd Nu kan het bestand alleen door de eigenaar worden gelezen, geschreven en uitgevoerd Huidige numerieke modus van het bestand (octale notatie): 700 Bestandsmodus met succes gewijzigd Nu kan het bestand worden gelezen, geschreven en uitgevoerd door de eigenaar, maar kan het per groep worden gelezen Huidige numerieke modus van het bestand (octale notatie): 740