Python | os.fchmod () metoda

|

W systemach uniksowych tryby — są to uprawnienia systemu plików przyznane użytkownikom, grupom i innym klasom w celu uzyskania dostępu do pliku.
os.fchmod() w Python służy do zmiany trybu pliku określonego przez określony deskryptor pliku na określony tryb numeryczny . Ta metoda jest odpowiednikiem os.chmod (fd, tryb) .

Uwaga. Ta metoda jest dostępna tylko na platformach Unix.

Składnia: os.fchmod (fd, tryb)

Parametry:
fd: Deskryptor pliku, którego tryb ma być ustawiony.
tryb: wartość liczbowa reprezentująca tryb do ustawienia.
Tryb może również przyjmować jedną z następujących wartości lub ich kombinacji bitowych OR:

  • stat.S_ISUID: Ustaw ID użytkownika przy wykonaniu
  • stat.S_ISGID: Ustaw ID grupy przy wykonaniu
  • stat.S_ENFMT: Wymuszone blokowanie rekordów < /li>
  • stat.S_ISVTX: Zapisz obraz tekstowy po wykonaniu
  • stat.S_IREAD: Czytane przez właściciela.
  • stat.S_IWRITE : Napisz przez właściciela.
  • stat.S_IEXEC: Wykonanie przez właściciela.
  • stat.S_IRWXU: Odczyt , zapis i wykonanie przez właściciela
  • stat.S_IRUSR: Odczyt przez właściciela
  • stat.S_IWUSR: Napisz przez właściciela.
  • stat.S_IXUSR: Wykonywane przez właściciela.
  • stat.S_IRWXG: Odczyt, zapis i wykonanie według grup
  • stat.S_IRGRP: Odczyt według grup
  • stat.S_IWGRP: Zapis według grup
  • stat.S_IXGRP : Wykonaj według grup
  • stat .S_IRWXO: Czytanie, pisanie i wykonywanie przez innych.
  • stat.S_IROTH: Czytane przez innych
  • stat.S_IWOTH: Pisanie przez innych
  • stat.S_IXOTH: Wykonywanie przez innych

Typ zwrotu: Ta metoda nie zwraca żadnej wartości.

Kod: przy użyciu metody systemu operacyjnego .fchmod ()

# Program Pythona wyjaśniający definicje metod os.fchmod()


# import modułu systemu operacyjnego

import os


# import modułu statystyk

import stat


# Nazwa pliku

nazwa pliku = "file.txt"


# Otwórz określony plik i
# pobierz deskryptor pliku
# związane z tym
# os.open () metoda

fd = os. open (nazwa pliku, os.O_RDWR)


# Wydrukuj bieżący tryb numeryczny
# (ósemkowy) plik

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

print ( "Bieżący tryb numeryczny pliku (zapis ósemkowy):" , tryb)


# Teraz zmień tryb
Plik #


# ósemkowy 777 jako wartość trybu
# odczyt, zapis i wykonanie per misja
# dla właściciela, grupy i innych

tryb = 0o777

os.fchmod (fd, tryb)

print ( "Pomyślnie zmieniono tryb pliku" )


# Drukuj zmieniony tryb numeryczny
# (ósemkowy) plik

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

print ( "Bieżący tryb numeryczny pliku ( notacja ósemkowa):" , tryb)


Parametrem # mode może być również
# zdefiniowane przez flagi zdefiniowane w
# Moduł Stat


# Tryb zmiany

tryb = stat.S_IRWXU

os.fchmod (fd, tryb)

print ( "Pomyślnie zmieniono tryb pliku" )

print ( "Teraz plik może być odczytywany, zapisywany i wykonywany tylko przez właściciela " )


# Drukuj zmodyfikowany tryb numeryczny
# (ósemkowo) pliku

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

print ( "Bieżący tryb numeryczny pliku (notacja ósemkowa):" , tryb)

< /p>


# tryb zmiany

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

os.fchmod (fd, tryb)

print ( "Pomyślnie zmieniono tryb pliku" )

print ("Teraz, Plik można czytać, pisać i wykonywane

według właściciela, ale mogą być odczytane przez grupę ")


# Drukuj zmodyfikowany tryb numeryczny
# (ósemkowy) plik

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

print ( "Bieżący tryb numeryczny pliku (notacja ósemkowa):" , mode)


# Zamknij deskryptor pliku
os.close (fd)

Wyjście:

 Bieżący tryb numeryczny pliku ( notacja ósemkowa): 666 Pomyślnie zmieniono tryb pliku Aktualny tryb numeryczny pliku (zapis ósemkowy): 777 Pomyślnie zmieniono tryb pliku Teraz plik może być odczytywany, zapisywany i wykonywany tylko przez właściciela Aktualny tryb numeryczny pliku (zapis ósemkowy): 700 Pomyślnie zmieniono tryb pliku Teraz, plik może być odczytywany, zapisywany i wykonywany przez właściciela, ale może być odczytywany przez grupę Aktualny tryb numeryczny pliku (notacja ósemkowa): 740