Pythonschlange | os.fchmod()-Methode

|

Auf Unix-ähnlichen Systemen sind die Modi — Dies sind die Dateisystemberechtigungen, die Benutzern, Gruppen und anderen Klassen für den Zugriff auf die Datei gewährt werden.
os.fchmod() wird in Python verwendet, um den durch den angegebenen Dateideskriptor angegebenen Dateimodus in den angegebenen numerischen Modus zu ändern . Diese Methode entspricht os.chmod (fd, mode) .

Hinweis. Diese Methode ist nur auf Unix-Plattformen verfügbar.

Syntax: os.fchmod (fd, Modus)

Parameter:
fd: Ein Dateideskriptor, dessen Modus gesetzt werden soll.
Modus: Ein numerischer Wert, der den einzustellenden Modus darstellt. Der
Modus kann auch einen der folgenden Werte oder bitweise ODER-verknüpfte Kombinationen davon annehmen:

  • stat.S_ISUID: Benutzer-ID bei Ausführung setzen
  • stat.S_ISGID: Gruppen-ID bei Ausführung setzen
  • stat.S_ENFMT: Datensatzsperre erzwungen < /li>
  • stat.S_ISVTX: Textbild nach Ausführung speichern
  • stat.S_IREAD: Vom Eigentümer gelesen.
  • stat.S_IWRITE : Vom Eigentümer schreiben.
  • stat.S_IEXEC: Vom Eigentümer ausführen.
  • stat.S_IRWXU: Lesen, schreiben und ausführen durch Besitzer
  • stat.S_IRUSR: Lesen durch Besitzer
  • stat.S_IWUSR: Schreiben vom Eigentümer.
  • stat.S_IXUSR: Vom Eigentümer ausführen.
  • stat.S_IRWXG: Lesen, schreiben und ausführen nach Gruppe
  • stat.S_IRGRP: Lesen nach Gruppe
  • stat.S_IWGRP: Schreiben nach Gruppe
  • stat.S_IXGRP : Ausführen nach Gruppe
  • stat .S_IRWXO: Lesen, schreiben und ausführen durch andere.
  • stat.S_IROTH: Von anderen gelesen
  • stat.S_IWOTH: Von anderen geschrieben
  • stat.S_IXOTH: Von anderen ausführen

Rückgabetyp: Diese Methode gibt keinen Wert zurück.

Code: mit der os-Methode .fchmod ()

# Python-Programm zur Erläuterung der Methodendefinitionen von os.fchmod ()


# Import des os-Moduls

import os


# Import des Statistikmoduls

import stat


# Dateiname

filename = "file.txt"


# Öffne die angegebene Datei und
# Dateideskriptor abrufen
# damit zusammenhängend
# os.open () Methode

fd = os. öffnen (Dateiname, os.O_RDWR)


# Gibt den aktuellen numerischen Modus aus
# (oktale) Datei

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

print ( "Aktueller numerischer Modus der Datei (oktale Notation):" , mode)


# Jetzt den Modus ändern
File #


# octal 777 als Moduswert
# lesen, schreiben und ausführen pro Mission
# für Eigentümer, Gruppe und andere

Modus = 0o777

os.fchmod (fd, mode)

print ( "Dateimodus erfolgreich geändert" )


# Geänderten numerischen Modus drucken
# (oktale) Datei

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

print ( "Aktueller numerischer Modus der Datei ( Oktalschreibweise):" , mode)


Der # Modusparameter kann auch
# sein definiert durch Flags definiert in
# Statistikmodul


# Änderungsmodus

mode = stat.S_IRWXU

os.fchmod (fd, mode)

print ( "Dateimodus erfolgreich geändert" )

print ( "Jetzt kann die Datei nur vom Eigentümer gelesen, geschrieben und ausgeführt werden " )


# Geänderten numerischen Modus drucken
# (oktal) der Datei

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

print ( "Aktueller numerischer Modus der Datei (oktale Notation):" , mode)

< /p>


# change mode

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

os.fchmod (fd, Modus)

print ( "Dateimodus erfolgreich geändert" )

print ("Nun, File gelesen, geschrieben und ausgeführt

vom Eigentümer, kann aber von der Gruppe gelesen werden ")


# Modifizierten numerischen Modus drucken
# (oktale) Datei

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

druck ( "Aktueller numerischer Modus der Datei (oktale Notation):" , mode)


# Schließe den Dateideskriptor
os.close (fd)

Beenden :

 Aktueller numerischer Modus der Datei ( Oktalschreibweise): 666 Dateimodus erfolgreich geändert Aktueller numerischer Modus der Datei (Oktalschreibweise): 777 Dateimodus erfolgreich geändert Jetzt kann die Datei nur vom Besitzer gelesen, geschrieben und ausgeführt werden Aktueller Zahlenmodus der Datei (Oktalschreibweise): 700 Dateimodus erfolgreich geändert Jetzt kann die Datei vom Eigentümer gelesen, geschrieben und ausgeführt werden, aber von der Gruppe gelesen werden. Aktueller numerischer Modus der Datei (oktale Notation): 740