Python | os.fchmod() yöntemi

|

Unix benzeri sistemlerde — bunlar, dosyaya erişmek için kullanıcılara, gruplara ve diğer sınıflara verilen dosya sistemi izinleridir.
os.fchmod() , belirtilen dosya tanımlayıcı tarafından belirtilen dosya modunu belirtilen sayısal moda değiştirmek için kullanılır . Bu yöntem os.chmod (fd, mode) ile eşdeğerdir.

Not. Bu yöntem yalnızca Unix platformlarında kullanılabilir.

Sözdizimi: os.fchmod (fd, mod)

Parametreler:
fd: Modu ayarlanacak bir dosya tanıtıcı.
mod: Ayarlanacak modu temsil eden sayısal bir değer.
modu ayrıca aşağıdaki değerlerden birini veya bitsel ORed kombinasyonlarını alabilir:

  • stat.S_ISUID: Yürütme sırasında kullanıcı kimliğini ayarla
  • stat.S_ISGID: Yürütme sırasında grup kimliğini ayarla
  • stat.S_ENFMT: Kayıt kilitleme uygulandı < /li>
  • stat.S_ISVTX: Yürütmeden sonra metin görüntüsünü kaydet
  • stat.S_IREAD: Sahibi tarafından okundu.
  • stat.S_IWRITE : Sahibine göre yazın.
  • stat.S_IEXEC: Sahibi tarafından yürütülür.
  • stat.S_IRWXU: Oku, yaz ve sahibi tarafından yürütülür
  • stat.S_IRUSR: Sahibi tarafından okunur
  • stat.S_IWUSR: Sahibine göre yazın.
  • stat.S_IXUSR: Sahibi tarafından yürütülür.
  • stat.S_IRWXG: Gruba göre okuma, yazma ve yürütme
  • stat.S_IRGRP: Gruba göre okuma
  • stat.S_IWGRP: Gruba göre yaz
  • stat.S_IXGRP : Gruba göre yürüt
  • stat .S_IRWXO: Başkaları tarafından okuyun, yazın ve yürütün.
  • stat.S_IROTH: Başkaları tarafından okundu
  • stat.S_IWOTH: Başkaları tarafından yazıldı
  • < güçlü> stat.S_IXOTH: Başkaları tarafından yürütülür

Dönüş türü: Bu yöntem herhangi bir değer döndürmez.

Kod: işletim sistemi yöntemini kullanarak .fchmod ()

# os.fchmod() yöntem tanımlarını açıklayan Python programı


# işletim sistemi modülünün içe aktarılması

içe aktar işletim sistemi


# istatistik modülünün içe aktarılması

< kod sınıfı = "anahtar kelime"> içe aktar stat


# Dosya adı

dosya adı = "file.txt"


# Belirtilen dosyayı açın ve
# dosya tanıtıcısını al
# bununla ilgili
# os.open () yöntemi

fd = os. (dosya adı, os.O_RDWR)


# Geçerli sayısal modu yazdırın
# (sekizlik) dosya

modu = ekim (os. stat (fd) .st_mode) [ - 3 :]

yazdır ( "Dosyanın geçerli sayısal modu (sekizlik notasyon):" , mod)


# Şimdi modu değiştirin
Dosya #


# sekizli 777 mod değeri olarak
# başına okuma, yazma ve yürütme görev
sahip, grup ve diğerleri için #

mod = 0o777

os.fchmod (fd, mod)

print ( "Dosya modu başarıyla değiştirildi" )


# Değişen sayısal modu yazdır
# (sekizlik) dosya

mod = ekim (os.stat (fd) .st_mode) [ - 3 :]

yazdır ( "Dosyanın geçerli sayısal modu ( sekizli gösterim):" , mod)


# mode parametresi ayrıca
olabilir #
# Stat module


# Change mode içinde tanımlanan bayraklarla tanımlanır

mod = stat.S_IRWXU

os.fchmod (fd, mod)

yazdır ( "Dosya modu başarıyla değiştirildi" )

print ( "Artık Dosya sadece sahibi tarafından okunabilir, yazılabilir ve d çalıştırılabilir " )


# Değiştirilmiş sayısal modu yazdır
Dosyanın (sekizlik) sayısı

mod = ekim (os.stat (fd) .st_mode) [ - 3 :]

yazdır ( "Dosyanın mevcut sayısal modu (sekizlik gösterim):" , mod)

< /p>


# mod değiştirme

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

os.fchmod (fd, mod)

yazdır ( "Dosya modu başarıyla değiştirildi" )

yazdır ("Şimdi, Dosya okunabilir, yazılabilir ve çalıştırılabilir

sahibi tarafından ancak " grubu tarafından okunabilir )


# Değiştirilmiş sayısal modu yazdır
# (sekizlik) dosya

mod = ekim (os.stat (fd) .st_mode) [ - 3 :]

yazdır ( "Dosyanın geçerli sayısal modu (sekizlik gösterim):" , mod)


# Dosya tanıtıcıyı kapatın
os.close (fd)

Çıkış :

 Dosyanın mevcut sayısal modu ( sekizli notasyon): 666 Dosya modu başarıyla değiştirildi Dosyanın mevcut sayısal modu (sekizli notasyon): 777 Dosya modu başarıyla değiştirildi Şimdi, Dosya sadece sahibi tarafından okunabilir, yazılabilir ve yürütülebilir Dosyanın mevcut sayısal modu (sekizlik notasyon): 700 Dosya modu başarıyla değiştirildi Artık, Dosya sahibi tarafından okunabilir, yazılabilir ve yürütülebilir ancak grup tarafından okunabilir Dosyanın mevcut sayısal modu (sekizli gösterim): 740